<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.e-ecology.nl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Stacy+shinneman</id>
		<title>ecology - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.e-ecology.nl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Stacy+shinneman"/>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php/Special:Contributions/Stacy_shinneman"/>
		<updated>2026-04-06T10:09:34Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1449</id>
		<title>How to access the e-Ecology database</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1449"/>
				<updated>2024-05-30T08:11:05Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* Setting up an ODBC connection (Windows) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=General Information=&lt;br /&gt;
&lt;br /&gt;
The UvA-BiTS database is a spatial postgreSQL database([http://www.postgresql.org/]). In order to access the database you must first have a user name and password provided to you by SURF.&lt;br /&gt;
&lt;br /&gt;
=How to access the database=&lt;br /&gt;
'''Through the web portal'''&lt;br /&gt;
&lt;br /&gt;
The database is no longer accessible via the phpPgAdmin web service but via a new PgAdmin portal. You can access the database through an ODBC (see below) or via the PgAdmin portal following these instructions:&lt;br /&gt;
&lt;br /&gt;
1. Go to pgadmin.e-ecology.nl and log in with your e-Ecology credentials&lt;br /&gt;
&lt;br /&gt;
2. Click on &amp;quot;Add New Server”&lt;br /&gt;
&lt;br /&gt;
3. In &amp;quot;General&amp;quot; tab fill out the fields as following: &lt;br /&gt;
     Name: UvA-BiTS&lt;br /&gt;
4. In the &amp;quot;Connection&amp;quot; tab fill out the fields as following:&lt;br /&gt;
     Host name / address: pub.e-ecology.nl&lt;br /&gt;
     Port: 5432&lt;br /&gt;
     Maintenance DB: eecology&lt;br /&gt;
5. Fill in your username and password in the “Connection&amp;quot; tab&lt;br /&gt;
 &lt;br /&gt;
6. Press “Save&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Once you create a connection to the database you can view the database structure in the left panel. You will have to write your own SQL queries to retrieve data since this service no longer has a GUI to build queries.&lt;br /&gt;
&lt;br /&gt;
'''Connecting via other programs:''' &lt;br /&gt;
You can also connect to the database via other programs (Access, R, etc.) by setting up an ODBC driver for postgreSQL and establishing a &amp;quot;User Data Source&amp;quot;. (See &amp;quot;Setting Up an ODBC Connection&amp;quot; below.)&lt;br /&gt;
&lt;br /&gt;
'''Now that I have connected, what do all these tables and views really mean?''' See the UvA-BiTS Data Model page of this wiki.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Windows) =&lt;br /&gt;
&lt;br /&gt;
ODBC (Open Database connectivity) is a standard method of sharing data between databases and other programs. ODBC drivers use SQL to gain access to data from sources outside the program.  Therefore, in order to connect between your database and other programs you must set up an ODBC connection.&lt;br /&gt;
  &lt;br /&gt;
Step 1: Download and install the most recent ODBC driver for postgreSQL.&lt;br /&gt;
[https://www.postgresql.org/ftp/odbc/releases]&lt;br /&gt;
&lt;br /&gt;
Step 2: Set up an ODBC connection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do the following (variations may exist between windows operating systems):&lt;br /&gt;
# Go to '''start | Control panel | Administrative tools | Data sources (ODBC)'''. If you are having trouble finding it, type &amp;quot;ODBC&amp;quot; into the Search box at the top of the Control Panel window.&lt;br /&gt;
# Go to '''User DSN''' (first tab in Data sources).&lt;br /&gt;
# Click '''ADD'''.&lt;br /&gt;
# In the window '''Create''' '''New Data Source''' select '''PostgreSQL ANSI''' and click '''FINISH'''.&lt;br /&gt;
# The '''ODBC Driver Setup''' window opens. '''Data source name''': give your data source a name (e.g. GPS).  Keep it simple and easily identifiable since this is the name you will use to identify your database from other applications; this will be the '''ODBC driver name'''.&lt;br /&gt;
# In the same window, fill in the following information: '''database''' ''eecology'', '''Server'''  ''pub.e-ecology.nl'', '''User Name''' ''your user name'', '''SSL Mode''' ''require'', '''Port''' ''5432'', '''Password''' ''your password''. Click '''TEST''' to test your connection. When the window is completed click '''SAVE'''.&lt;br /&gt;
# Back in the '''User DSN''' window you should now see the ODBC driver you just named. Click '''OK'''.&lt;br /&gt;
After completing these steps many other programs will now recognize your database and be able to communicate with it. &lt;br /&gt;
&lt;br /&gt;
If you are having problems setting up the connection, go back to Step 1 above and make sure that you have installed the most recent version of the PostgreSQL ODBC driver.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (MacOSX 10.8.5 ) =&lt;br /&gt;
&lt;br /&gt;
The PostgreSQL ODBC driver provided here is a 64-bit driver. It will probably only work if the other components involved in accessing the UvA-BiTS database are also 64-bit. This includes R, iODBC, and libpq. It has been tested on MacOSX 10.8.5 (Mountain Lion) with 64-bit R 3.0.2 (Frisbee Sailing). If you have an older version of MacOSX, and/or a 32-bit version of R installed, this driver may or may not work for you. There's no harm in trying. If it does not work, and you have a 32-bit version of R installed, try using the 64-bit version instead (this will allow R to use more memory as well, possibly speeding up your calculations). &lt;br /&gt;
&lt;br /&gt;
1. Download the ODBC Administrator Tool for Mac OS X v1.0 using the following URL http://support.apple.com/kb/DL895&lt;br /&gt;
&lt;br /&gt;
2. Download the zip file found here [http://horizon.science.uva.nl/public/pgodbc_macosx/]. Unpack the .zip file into your home directory by double clicking it. Your home directory will usually have your name and is located in Macintosh HD &amp;gt; Users next to the little symbol of a house. This will create a folder called &amp;quot;pgodbc&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
3. Open the iODBC Administator.app from within Applications.&lt;br /&gt;
&lt;br /&gt;
4. Select the tab &amp;quot;ODBC Drivers&amp;quot; and click on &amp;quot;Add a driver&amp;quot;. A new window will open.&lt;br /&gt;
&lt;br /&gt;
5. The first field is &amp;quot;Description of the driver&amp;quot;. Type in &amp;quot;PostgreSQL&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. Click on &amp;quot;Browse&amp;quot; next to the second field to locate and select the driver file you unpacked from the .zip file you downloaded.&lt;br /&gt;
&lt;br /&gt;
7. Go to folder &amp;quot;pgodbc&amp;quot; in your home directory, and select the driver file &amp;quot;psqlodbcw.so&amp;quot;&lt;br /&gt;
&lt;br /&gt;
8. Make sure the driver is defined as &amp;quot;System&amp;quot;, i.e., that the &amp;quot;System&amp;quot; option is selected and not the &amp;quot;User&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
9. Click on &amp;quot;Add&amp;quot; at the bottom of this window, and &amp;quot;OK&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should now be able to access the database through R using the R script provided.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Linux) =&lt;br /&gt;
&lt;br /&gt;
1. Install unixODBC and its -dev file&lt;br /&gt;
$ sudo apt-get install unixODBC unixODBC-dev&lt;br /&gt;
&lt;br /&gt;
2. Install the postgresql package&lt;br /&gt;
&lt;br /&gt;
  $ sudo apt-get install odbc-postgresql&lt;br /&gt;
&lt;br /&gt;
3. Configure the PostgreSQL ODBC driver in the /etc/odbcinst.ini file&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbcinst.ini&lt;br /&gt;
&lt;br /&gt;
4. On Ubuntu, the /etc/odbcinst.ini file will be blank, so you’ll need to add the data to that configuration file. Add the following to the odbcinst.ini file:&lt;br /&gt;
&lt;br /&gt;
  [PostgreSQL]&lt;br /&gt;
  Description = ODBC for PostgreSQL&lt;br /&gt;
  Driver = /usr/lib/odbc/psqlodbca.so&lt;br /&gt;
  Setup = /usr/lib/odbc/libodbcpsqlS.so&lt;br /&gt;
  FileUsage = 1&lt;br /&gt;
'''Be careful,''' on x64, the path for the driver and setup should look&lt;br /&gt;
something like that /usr/lib/x86_64-linux-gnu/odbc/ (use the command $&lt;br /&gt;
mlocate psql to find the appropriate path...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Verify that the system is able to see the driver by running the&lt;br /&gt;
following command. It should return the label name [PostgreSQL] if all is&lt;br /&gt;
well:&lt;br /&gt;
&lt;br /&gt;
  $ odbcinst -q -d&lt;br /&gt;
&lt;br /&gt;
6. Next, configure the /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
Here is what the text file should look like&lt;br /&gt;
&lt;br /&gt;
  [GPStracker]&lt;br /&gt;
  Driver       = PostgreSQL&lt;br /&gt;
  Description  = PostgreSQL connection to the UvA BiTS DataBase&lt;br /&gt;
  Servername   = pub.e-ecology.nl&lt;br /&gt;
  Port         = 5432&lt;br /&gt;
  UserName     = user_name&lt;br /&gt;
  Password     = yourpassword&lt;br /&gt;
  Database     = eecology&lt;br /&gt;
  SSLMode      = prefer&lt;br /&gt;
  OPTION       = 3&lt;br /&gt;
  SOCKET       =&lt;br /&gt;
&lt;br /&gt;
You should now be able to connect to the database, for example via RODBC.&lt;br /&gt;
&lt;br /&gt;
= Connecting other programs to the UvA-BiTS database (e.g. R, Access, ArcGIS) =&lt;br /&gt;
&lt;br /&gt;
This section provides information on how to set up an Open Database Connectivity (ODBC) which will enable many software packages to extract data directly from the database.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Here you provide the name of the database file or the user DSN name for a given ODBC data source (as described above).&lt;br /&gt;
 &lt;br /&gt;
 db.file &amp;lt;-&amp;quot;GPS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Load the RODBC library.  Visit the CRAN repository &amp;lt;http://cran.r-project.org/web/packages/&amp;gt; for a list of contributed packages and instructions for installation. Packages may be installed using the GUI interface or using ?install.packages.&lt;br /&gt;
&lt;br /&gt;
 library(RODBC)&lt;br /&gt;
&lt;br /&gt;
Establish a connection to the database, the following code is used if reading from an ODBC data source.&lt;br /&gt;
&lt;br /&gt;
 db &amp;lt;- odbcConnect(db.file) &lt;br /&gt;
&lt;br /&gt;
View the table names in the database.&lt;br /&gt;
&lt;br /&gt;
 sqlTables(db)&lt;br /&gt;
&lt;br /&gt;
View the field (column) names of a specific table.&lt;br /&gt;
&lt;br /&gt;
 sqlColumns(db, table.name)&lt;br /&gt;
&lt;br /&gt;
Query the database, returning data from table gps.uva_tracking_speed_limited, for device_info_serial 1 as dataframe &amp;quot;test&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R (mac) ==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Connect to the database in R with the package RODBC, using your username and password.&lt;br /&gt;
Install the RODBC package and any dependencies&lt;br /&gt;
 install.packages(&amp;quot;RODBC&amp;quot;, dep=T)&lt;br /&gt;
 require(RODBC)&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;user&amp;quot; and &amp;quot;password&amp;quot; with your own username and password provided by SURF:&lt;br /&gt;
 my_username &amp;lt;- &amp;quot;user&amp;quot;&lt;br /&gt;
 my_password &amp;lt;- &amp;quot;password&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Define the connection and connect from within R:&lt;br /&gt;
 l.connstring &amp;lt;- 'DRIVER=PostgreSQL;'&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SERVER=pub.e-ecology.nl;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'PORT=5432;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SSLMODE=require;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'DATABASE=eecology;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;USERNAME=&amp;quot;, my_username, &amp;quot;;&amp;quot;, sep=''), sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;PASSWORD=&amp;quot;, my_password, &amp;quot;;&amp;quot;, sep='') , sep = '') &lt;br /&gt;
&lt;br /&gt;
 GPS &amp;lt;- odbcDriverConnect(l.connstring, case = &amp;quot;tolower&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
From here you can write SQL queries and retrieve the data through R. Here is an example.&lt;br /&gt;
&lt;br /&gt;
To extract GPS data, remember to replace &amp;lt;insert bird id&amp;gt; with the device serial number of one of your tracked birds: &lt;br /&gt;
 gps_test &amp;lt;- sqlQuery(GPS, query = &amp;quot;SELECT * &lt;br /&gt;
 FROM gps.ee_tracking_speed_limited s  &lt;br /&gt;
 WHERE s.device_info_serial = &amp;lt;insert bird ID&amp;gt;&amp;quot;, as.is=c(2))&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in Access==&lt;br /&gt;
After completing the steps for setting up an ODBC connection, you can connect to the database via Access. You have two options. One is to import the data; once this is done your database is not automatically updated but does not require a link to the database.&lt;br /&gt;
&lt;br /&gt;
The second option (described below) is to create a dynamic link to the database. (You must be connected to the network.) In this case you are always viewing updated data that is in the actual SURF database. The first set of instructions is for Access 2007-2010, while the second is for the older version of Access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2007-2010'''.&lt;br /&gt;
# Go to '''External data | ODBC Database'''.&lt;br /&gt;
# Select '''Link to the data source by creating a linked table'''. Click OK.&lt;br /&gt;
# In '''Select Data Source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2003'''.&lt;br /&gt;
# Go to '''File | Get external data | Link tables'''.&lt;br /&gt;
# In '''Files of type''', select '''ODBC databases'''.&lt;br /&gt;
# In '''Select data source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You now have access to your selected tables in the database. Have fun.&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1448</id>
		<title>How to access the e-Ecology database</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1448"/>
				<updated>2023-07-21T12:25:31Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* How to access the database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=General Information=&lt;br /&gt;
&lt;br /&gt;
The UvA-BiTS database is a spatial postgreSQL database([http://www.postgresql.org/]). In order to access the database you must first have a user name and password provided to you by SURF.&lt;br /&gt;
&lt;br /&gt;
=How to access the database=&lt;br /&gt;
'''Through the web portal'''&lt;br /&gt;
&lt;br /&gt;
The database is no longer accessible via the phpPgAdmin web service but via a new PgAdmin portal. You can access the database through an ODBC (see below) or via the PgAdmin portal following these instructions:&lt;br /&gt;
&lt;br /&gt;
1. Go to pgadmin.e-ecology.nl and log in with your e-Ecology credentials&lt;br /&gt;
&lt;br /&gt;
2. Click on &amp;quot;Add New Server”&lt;br /&gt;
&lt;br /&gt;
3. In &amp;quot;General&amp;quot; tab fill out the fields as following: &lt;br /&gt;
     Name: UvA-BiTS&lt;br /&gt;
4. In the &amp;quot;Connection&amp;quot; tab fill out the fields as following:&lt;br /&gt;
     Host name / address: pub.e-ecology.nl&lt;br /&gt;
     Port: 5432&lt;br /&gt;
     Maintenance DB: eecology&lt;br /&gt;
5. Fill in your username and password in the “Connection&amp;quot; tab&lt;br /&gt;
 &lt;br /&gt;
6. Press “Save&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Once you create a connection to the database you can view the database structure in the left panel. You will have to write your own SQL queries to retrieve data since this service no longer has a GUI to build queries.&lt;br /&gt;
&lt;br /&gt;
'''Connecting via other programs:''' &lt;br /&gt;
You can also connect to the database via other programs (Access, R, etc.) by setting up an ODBC driver for postgreSQL and establishing a &amp;quot;User Data Source&amp;quot;. (See &amp;quot;Setting Up an ODBC Connection&amp;quot; below.)&lt;br /&gt;
&lt;br /&gt;
'''Now that I have connected, what do all these tables and views really mean?''' See the UvA-BiTS Data Model page of this wiki.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Windows) =&lt;br /&gt;
&lt;br /&gt;
ODBC (Open Database connectivity) is a standard method of sharing data between databases and other programs. ODBC drivers use SQL to gain access to data from sources outside the program.  Therefore, in order to connect between your database and other programs you must set up an ODBC connection.&lt;br /&gt;
  &lt;br /&gt;
Step 1: Download and install the most recent ODBC driver for postgreSQL.&lt;br /&gt;
[http://www.postgresql.org/ftp/odbc/versions/msi/]&lt;br /&gt;
&lt;br /&gt;
Step 2: Set up an ODBC connection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do the following (variations may exist between windows operating systems):&lt;br /&gt;
# Go to '''start | Control panel | Administrative tools | Data sources (ODBC)'''. If you are having trouble finding it, type &amp;quot;ODBC&amp;quot; into the Search box at the top of the Control Panel window.&lt;br /&gt;
# Go to '''User DSN''' (first tab in Data sources).&lt;br /&gt;
# Click '''ADD'''.&lt;br /&gt;
# In the window '''Create''' '''New Data Source''' select '''PostgreSQL ANSI''' and click '''FINISH'''.&lt;br /&gt;
# The '''ODBC Driver Setup''' window opens. '''Data source name''': give your data source a name (e.g. GPS).  Keep it simple and easily identifiable since this is the name you will use to identify your database from other applications; this will be the '''ODBC driver name'''.&lt;br /&gt;
# In the same window, fill in the following information: '''database''' ''eecology'', '''Server'''  ''pub.e-ecology.nl'', '''User Name''' ''your user name'', '''SSL Mode''' ''require'', '''Port''' ''5432'', '''Password''' ''your password''. Click '''TEST''' to test your connection. When the window is completed click '''SAVE'''.&lt;br /&gt;
# Back in the '''User DSN''' window you should now see the ODBC driver you just named. Click '''OK'''.&lt;br /&gt;
After completing these steps many other programs will now recognize your database and be able to communicate with it. &lt;br /&gt;
&lt;br /&gt;
If you are having problems setting up the connection, go back to Step 1 above and make sure that you have installed the most recent version of the PostgreSQL ODBC driver.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (MacOSX 10.8.5 ) =&lt;br /&gt;
&lt;br /&gt;
The PostgreSQL ODBC driver provided here is a 64-bit driver. It will probably only work if the other components involved in accessing the UvA-BiTS database are also 64-bit. This includes R, iODBC, and libpq. It has been tested on MacOSX 10.8.5 (Mountain Lion) with 64-bit R 3.0.2 (Frisbee Sailing). If you have an older version of MacOSX, and/or a 32-bit version of R installed, this driver may or may not work for you. There's no harm in trying. If it does not work, and you have a 32-bit version of R installed, try using the 64-bit version instead (this will allow R to use more memory as well, possibly speeding up your calculations). &lt;br /&gt;
&lt;br /&gt;
1. Download the ODBC Administrator Tool for Mac OS X v1.0 using the following URL http://support.apple.com/kb/DL895&lt;br /&gt;
&lt;br /&gt;
2. Download the zip file found here [http://horizon.science.uva.nl/public/pgodbc_macosx/]. Unpack the .zip file into your home directory by double clicking it. Your home directory will usually have your name and is located in Macintosh HD &amp;gt; Users next to the little symbol of a house. This will create a folder called &amp;quot;pgodbc&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
3. Open the iODBC Administator.app from within Applications.&lt;br /&gt;
&lt;br /&gt;
4. Select the tab &amp;quot;ODBC Drivers&amp;quot; and click on &amp;quot;Add a driver&amp;quot;. A new window will open.&lt;br /&gt;
&lt;br /&gt;
5. The first field is &amp;quot;Description of the driver&amp;quot;. Type in &amp;quot;PostgreSQL&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. Click on &amp;quot;Browse&amp;quot; next to the second field to locate and select the driver file you unpacked from the .zip file you downloaded.&lt;br /&gt;
&lt;br /&gt;
7. Go to folder &amp;quot;pgodbc&amp;quot; in your home directory, and select the driver file &amp;quot;psqlodbcw.so&amp;quot;&lt;br /&gt;
&lt;br /&gt;
8. Make sure the driver is defined as &amp;quot;System&amp;quot;, i.e., that the &amp;quot;System&amp;quot; option is selected and not the &amp;quot;User&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
9. Click on &amp;quot;Add&amp;quot; at the bottom of this window, and &amp;quot;OK&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should now be able to access the database through R using the R script provided.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Linux) =&lt;br /&gt;
&lt;br /&gt;
1. Install unixODBC and its -dev file&lt;br /&gt;
$ sudo apt-get install unixODBC unixODBC-dev&lt;br /&gt;
&lt;br /&gt;
2. Install the postgresql package&lt;br /&gt;
&lt;br /&gt;
  $ sudo apt-get install odbc-postgresql&lt;br /&gt;
&lt;br /&gt;
3. Configure the PostgreSQL ODBC driver in the /etc/odbcinst.ini file&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbcinst.ini&lt;br /&gt;
&lt;br /&gt;
4. On Ubuntu, the /etc/odbcinst.ini file will be blank, so you’ll need to add the data to that configuration file. Add the following to the odbcinst.ini file:&lt;br /&gt;
&lt;br /&gt;
  [PostgreSQL]&lt;br /&gt;
  Description = ODBC for PostgreSQL&lt;br /&gt;
  Driver = /usr/lib/odbc/psqlodbca.so&lt;br /&gt;
  Setup = /usr/lib/odbc/libodbcpsqlS.so&lt;br /&gt;
  FileUsage = 1&lt;br /&gt;
'''Be careful,''' on x64, the path for the driver and setup should look&lt;br /&gt;
something like that /usr/lib/x86_64-linux-gnu/odbc/ (use the command $&lt;br /&gt;
mlocate psql to find the appropriate path...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Verify that the system is able to see the driver by running the&lt;br /&gt;
following command. It should return the label name [PostgreSQL] if all is&lt;br /&gt;
well:&lt;br /&gt;
&lt;br /&gt;
  $ odbcinst -q -d&lt;br /&gt;
&lt;br /&gt;
6. Next, configure the /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
Here is what the text file should look like&lt;br /&gt;
&lt;br /&gt;
  [GPStracker]&lt;br /&gt;
  Driver       = PostgreSQL&lt;br /&gt;
  Description  = PostgreSQL connection to the UvA BiTS DataBase&lt;br /&gt;
  Servername   = pub.e-ecology.nl&lt;br /&gt;
  Port         = 5432&lt;br /&gt;
  UserName     = user_name&lt;br /&gt;
  Password     = yourpassword&lt;br /&gt;
  Database     = eecology&lt;br /&gt;
  SSLMode      = prefer&lt;br /&gt;
  OPTION       = 3&lt;br /&gt;
  SOCKET       =&lt;br /&gt;
&lt;br /&gt;
You should now be able to connect to the database, for example via RODBC.&lt;br /&gt;
&lt;br /&gt;
= Connecting other programs to the UvA-BiTS database (e.g. R, Access, ArcGIS) =&lt;br /&gt;
&lt;br /&gt;
This section provides information on how to set up an Open Database Connectivity (ODBC) which will enable many software packages to extract data directly from the database.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Here you provide the name of the database file or the user DSN name for a given ODBC data source (as described above).&lt;br /&gt;
 &lt;br /&gt;
 db.file &amp;lt;-&amp;quot;GPS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Load the RODBC library.  Visit the CRAN repository &amp;lt;http://cran.r-project.org/web/packages/&amp;gt; for a list of contributed packages and instructions for installation. Packages may be installed using the GUI interface or using ?install.packages.&lt;br /&gt;
&lt;br /&gt;
 library(RODBC)&lt;br /&gt;
&lt;br /&gt;
Establish a connection to the database, the following code is used if reading from an ODBC data source.&lt;br /&gt;
&lt;br /&gt;
 db &amp;lt;- odbcConnect(db.file) &lt;br /&gt;
&lt;br /&gt;
View the table names in the database.&lt;br /&gt;
&lt;br /&gt;
 sqlTables(db)&lt;br /&gt;
&lt;br /&gt;
View the field (column) names of a specific table.&lt;br /&gt;
&lt;br /&gt;
 sqlColumns(db, table.name)&lt;br /&gt;
&lt;br /&gt;
Query the database, returning data from table gps.uva_tracking_speed_limited, for device_info_serial 1 as dataframe &amp;quot;test&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R (mac) ==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Connect to the database in R with the package RODBC, using your username and password.&lt;br /&gt;
Install the RODBC package and any dependencies&lt;br /&gt;
 install.packages(&amp;quot;RODBC&amp;quot;, dep=T)&lt;br /&gt;
 require(RODBC)&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;user&amp;quot; and &amp;quot;password&amp;quot; with your own username and password provided by SURF:&lt;br /&gt;
 my_username &amp;lt;- &amp;quot;user&amp;quot;&lt;br /&gt;
 my_password &amp;lt;- &amp;quot;password&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Define the connection and connect from within R:&lt;br /&gt;
 l.connstring &amp;lt;- 'DRIVER=PostgreSQL;'&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SERVER=pub.e-ecology.nl;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'PORT=5432;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SSLMODE=require;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'DATABASE=eecology;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;USERNAME=&amp;quot;, my_username, &amp;quot;;&amp;quot;, sep=''), sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;PASSWORD=&amp;quot;, my_password, &amp;quot;;&amp;quot;, sep='') , sep = '') &lt;br /&gt;
&lt;br /&gt;
 GPS &amp;lt;- odbcDriverConnect(l.connstring, case = &amp;quot;tolower&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
From here you can write SQL queries and retrieve the data through R. Here is an example.&lt;br /&gt;
&lt;br /&gt;
To extract GPS data, remember to replace &amp;lt;insert bird id&amp;gt; with the device serial number of one of your tracked birds: &lt;br /&gt;
 gps_test &amp;lt;- sqlQuery(GPS, query = &amp;quot;SELECT * &lt;br /&gt;
 FROM gps.ee_tracking_speed_limited s  &lt;br /&gt;
 WHERE s.device_info_serial = &amp;lt;insert bird ID&amp;gt;&amp;quot;, as.is=c(2))&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in Access==&lt;br /&gt;
After completing the steps for setting up an ODBC connection, you can connect to the database via Access. You have two options. One is to import the data; once this is done your database is not automatically updated but does not require a link to the database.&lt;br /&gt;
&lt;br /&gt;
The second option (described below) is to create a dynamic link to the database. (You must be connected to the network.) In this case you are always viewing updated data that is in the actual SURF database. The first set of instructions is for Access 2007-2010, while the second is for the older version of Access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2007-2010'''.&lt;br /&gt;
# Go to '''External data | ODBC Database'''.&lt;br /&gt;
# Select '''Link to the data source by creating a linked table'''. Click OK.&lt;br /&gt;
# In '''Select Data Source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2003'''.&lt;br /&gt;
# Go to '''File | Get external data | Link tables'''.&lt;br /&gt;
# In '''Files of type''', select '''ODBC databases'''.&lt;br /&gt;
# In '''Select data source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You now have access to your selected tables in the database. Have fun.&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1447</id>
		<title>How to access the e-Ecology database</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1447"/>
				<updated>2023-07-20T08:35:29Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* How to access the database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=General Information=&lt;br /&gt;
&lt;br /&gt;
The UvA-BiTS database is a spatial postgreSQL database([http://www.postgresql.org/]). In order to access the database you must first have a user name and password provided to you by SURF.&lt;br /&gt;
&lt;br /&gt;
=How to access the database=&lt;br /&gt;
'''Through the web portal'''&lt;br /&gt;
&lt;br /&gt;
The database is no longer directly accessible via the PgAdmin app, so you will need to access the database either through an ODBC connection (see below) or through a new web portal by following these instructions:&lt;br /&gt;
&lt;br /&gt;
1. Go to pgadmin.e-ecology.nl and log in with your e-Ecology credentials&lt;br /&gt;
&lt;br /&gt;
2. Click on &amp;quot;Add New Server”&lt;br /&gt;
&lt;br /&gt;
3. In &amp;quot;General&amp;quot; tab fill out the fields as following: &lt;br /&gt;
     Name: UvA-BiTS&lt;br /&gt;
4. In the &amp;quot;Connection&amp;quot; tab fill out the fields as following:&lt;br /&gt;
     Host name / address: pub.e-ecology.nl&lt;br /&gt;
     Port: 5432&lt;br /&gt;
     Maintenance DB: eecology&lt;br /&gt;
5. Fill in your username and password in the “Connection&amp;quot; tab&lt;br /&gt;
 &lt;br /&gt;
6. Press “Save&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This new system does not have a query builder like the old database web portal so you will need to create your own queries.&lt;br /&gt;
&lt;br /&gt;
'''Connecting via other programs:''' &lt;br /&gt;
You can also connect to the database via other programs (Access, R, etc.) by setting up an ODBC driver for postgreSQL and establishing a &amp;quot;User Data Source&amp;quot;. (See &amp;quot;Setting Up an ODBC Connection&amp;quot; below.)&lt;br /&gt;
&lt;br /&gt;
'''Now that I have connected, what do all these tables and views really mean?''' See the UvA-BiTS Data Model page of this wiki.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Windows) =&lt;br /&gt;
&lt;br /&gt;
ODBC (Open Database connectivity) is a standard method of sharing data between databases and other programs. ODBC drivers use SQL to gain access to data from sources outside the program.  Therefore, in order to connect between your database and other programs you must set up an ODBC connection.&lt;br /&gt;
  &lt;br /&gt;
Step 1: Download and install the most recent ODBC driver for postgreSQL.&lt;br /&gt;
[http://www.postgresql.org/ftp/odbc/versions/msi/]&lt;br /&gt;
&lt;br /&gt;
Step 2: Set up an ODBC connection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do the following (variations may exist between windows operating systems):&lt;br /&gt;
# Go to '''start | Control panel | Administrative tools | Data sources (ODBC)'''. If you are having trouble finding it, type &amp;quot;ODBC&amp;quot; into the Search box at the top of the Control Panel window.&lt;br /&gt;
# Go to '''User DSN''' (first tab in Data sources).&lt;br /&gt;
# Click '''ADD'''.&lt;br /&gt;
# In the window '''Create''' '''New Data Source''' select '''PostgreSQL ANSI''' and click '''FINISH'''.&lt;br /&gt;
# The '''ODBC Driver Setup''' window opens. '''Data source name''': give your data source a name (e.g. GPS).  Keep it simple and easily identifiable since this is the name you will use to identify your database from other applications; this will be the '''ODBC driver name'''.&lt;br /&gt;
# In the same window, fill in the following information: '''database''' ''eecology'', '''Server'''  ''pub.e-ecology.nl'', '''User Name''' ''your user name'', '''SSL Mode''' ''require'', '''Port''' ''5432'', '''Password''' ''your password''. Click '''TEST''' to test your connection. When the window is completed click '''SAVE'''.&lt;br /&gt;
# Back in the '''User DSN''' window you should now see the ODBC driver you just named. Click '''OK'''.&lt;br /&gt;
After completing these steps many other programs will now recognize your database and be able to communicate with it. &lt;br /&gt;
&lt;br /&gt;
If you are having problems setting up the connection, go back to Step 1 above and make sure that you have installed the most recent version of the PostgreSQL ODBC driver.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (MacOSX 10.8.5 ) =&lt;br /&gt;
&lt;br /&gt;
The PostgreSQL ODBC driver provided here is a 64-bit driver. It will probably only work if the other components involved in accessing the UvA-BiTS database are also 64-bit. This includes R, iODBC, and libpq. It has been tested on MacOSX 10.8.5 (Mountain Lion) with 64-bit R 3.0.2 (Frisbee Sailing). If you have an older version of MacOSX, and/or a 32-bit version of R installed, this driver may or may not work for you. There's no harm in trying. If it does not work, and you have a 32-bit version of R installed, try using the 64-bit version instead (this will allow R to use more memory as well, possibly speeding up your calculations). &lt;br /&gt;
&lt;br /&gt;
1. Download the ODBC Administrator Tool for Mac OS X v1.0 using the following URL http://support.apple.com/kb/DL895&lt;br /&gt;
&lt;br /&gt;
2. Download the zip file found here [http://horizon.science.uva.nl/public/pgodbc_macosx/]. Unpack the .zip file into your home directory by double clicking it. Your home directory will usually have your name and is located in Macintosh HD &amp;gt; Users next to the little symbol of a house. This will create a folder called &amp;quot;pgodbc&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
3. Open the iODBC Administator.app from within Applications.&lt;br /&gt;
&lt;br /&gt;
4. Select the tab &amp;quot;ODBC Drivers&amp;quot; and click on &amp;quot;Add a driver&amp;quot;. A new window will open.&lt;br /&gt;
&lt;br /&gt;
5. The first field is &amp;quot;Description of the driver&amp;quot;. Type in &amp;quot;PostgreSQL&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. Click on &amp;quot;Browse&amp;quot; next to the second field to locate and select the driver file you unpacked from the .zip file you downloaded.&lt;br /&gt;
&lt;br /&gt;
7. Go to folder &amp;quot;pgodbc&amp;quot; in your home directory, and select the driver file &amp;quot;psqlodbcw.so&amp;quot;&lt;br /&gt;
&lt;br /&gt;
8. Make sure the driver is defined as &amp;quot;System&amp;quot;, i.e., that the &amp;quot;System&amp;quot; option is selected and not the &amp;quot;User&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
9. Click on &amp;quot;Add&amp;quot; at the bottom of this window, and &amp;quot;OK&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should now be able to access the database through R using the R script provided.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Linux) =&lt;br /&gt;
&lt;br /&gt;
1. Install unixODBC and its -dev file&lt;br /&gt;
$ sudo apt-get install unixODBC unixODBC-dev&lt;br /&gt;
&lt;br /&gt;
2. Install the postgresql package&lt;br /&gt;
&lt;br /&gt;
  $ sudo apt-get install odbc-postgresql&lt;br /&gt;
&lt;br /&gt;
3. Configure the PostgreSQL ODBC driver in the /etc/odbcinst.ini file&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbcinst.ini&lt;br /&gt;
&lt;br /&gt;
4. On Ubuntu, the /etc/odbcinst.ini file will be blank, so you’ll need to add the data to that configuration file. Add the following to the odbcinst.ini file:&lt;br /&gt;
&lt;br /&gt;
  [PostgreSQL]&lt;br /&gt;
  Description = ODBC for PostgreSQL&lt;br /&gt;
  Driver = /usr/lib/odbc/psqlodbca.so&lt;br /&gt;
  Setup = /usr/lib/odbc/libodbcpsqlS.so&lt;br /&gt;
  FileUsage = 1&lt;br /&gt;
'''Be careful,''' on x64, the path for the driver and setup should look&lt;br /&gt;
something like that /usr/lib/x86_64-linux-gnu/odbc/ (use the command $&lt;br /&gt;
mlocate psql to find the appropriate path...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Verify that the system is able to see the driver by running the&lt;br /&gt;
following command. It should return the label name [PostgreSQL] if all is&lt;br /&gt;
well:&lt;br /&gt;
&lt;br /&gt;
  $ odbcinst -q -d&lt;br /&gt;
&lt;br /&gt;
6. Next, configure the /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
Here is what the text file should look like&lt;br /&gt;
&lt;br /&gt;
  [GPStracker]&lt;br /&gt;
  Driver       = PostgreSQL&lt;br /&gt;
  Description  = PostgreSQL connection to the UvA BiTS DataBase&lt;br /&gt;
  Servername   = pub.e-ecology.nl&lt;br /&gt;
  Port         = 5432&lt;br /&gt;
  UserName     = user_name&lt;br /&gt;
  Password     = yourpassword&lt;br /&gt;
  Database     = eecology&lt;br /&gt;
  SSLMode      = prefer&lt;br /&gt;
  OPTION       = 3&lt;br /&gt;
  SOCKET       =&lt;br /&gt;
&lt;br /&gt;
You should now be able to connect to the database, for example via RODBC.&lt;br /&gt;
&lt;br /&gt;
= Connecting other programs to the UvA-BiTS database (e.g. R, Access, ArcGIS) =&lt;br /&gt;
&lt;br /&gt;
This section provides information on how to set up an Open Database Connectivity (ODBC) which will enable many software packages to extract data directly from the database.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Here you provide the name of the database file or the user DSN name for a given ODBC data source (as described above).&lt;br /&gt;
 &lt;br /&gt;
 db.file &amp;lt;-&amp;quot;GPS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Load the RODBC library.  Visit the CRAN repository &amp;lt;http://cran.r-project.org/web/packages/&amp;gt; for a list of contributed packages and instructions for installation. Packages may be installed using the GUI interface or using ?install.packages.&lt;br /&gt;
&lt;br /&gt;
 library(RODBC)&lt;br /&gt;
&lt;br /&gt;
Establish a connection to the database, the following code is used if reading from an ODBC data source.&lt;br /&gt;
&lt;br /&gt;
 db &amp;lt;- odbcConnect(db.file) &lt;br /&gt;
&lt;br /&gt;
View the table names in the database.&lt;br /&gt;
&lt;br /&gt;
 sqlTables(db)&lt;br /&gt;
&lt;br /&gt;
View the field (column) names of a specific table.&lt;br /&gt;
&lt;br /&gt;
 sqlColumns(db, table.name)&lt;br /&gt;
&lt;br /&gt;
Query the database, returning data from table gps.uva_tracking_speed_limited, for device_info_serial 1 as dataframe &amp;quot;test&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R (mac) ==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Connect to the database in R with the package RODBC, using your username and password.&lt;br /&gt;
Install the RODBC package and any dependencies&lt;br /&gt;
 install.packages(&amp;quot;RODBC&amp;quot;, dep=T)&lt;br /&gt;
 require(RODBC)&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;user&amp;quot; and &amp;quot;password&amp;quot; with your own username and password provided by SURF:&lt;br /&gt;
 my_username &amp;lt;- &amp;quot;user&amp;quot;&lt;br /&gt;
 my_password &amp;lt;- &amp;quot;password&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Define the connection and connect from within R:&lt;br /&gt;
 l.connstring &amp;lt;- 'DRIVER=PostgreSQL;'&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SERVER=pub.e-ecology.nl;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'PORT=5432;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SSLMODE=require;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'DATABASE=eecology;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;USERNAME=&amp;quot;, my_username, &amp;quot;;&amp;quot;, sep=''), sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;PASSWORD=&amp;quot;, my_password, &amp;quot;;&amp;quot;, sep='') , sep = '') &lt;br /&gt;
&lt;br /&gt;
 GPS &amp;lt;- odbcDriverConnect(l.connstring, case = &amp;quot;tolower&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
From here you can write SQL queries and retrieve the data through R. Here is an example.&lt;br /&gt;
&lt;br /&gt;
To extract GPS data, remember to replace &amp;lt;insert bird id&amp;gt; with the device serial number of one of your tracked birds: &lt;br /&gt;
 gps_test &amp;lt;- sqlQuery(GPS, query = &amp;quot;SELECT * &lt;br /&gt;
 FROM gps.ee_tracking_speed_limited s  &lt;br /&gt;
 WHERE s.device_info_serial = &amp;lt;insert bird ID&amp;gt;&amp;quot;, as.is=c(2))&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in Access==&lt;br /&gt;
After completing the steps for setting up an ODBC connection, you can connect to the database via Access. You have two options. One is to import the data; once this is done your database is not automatically updated but does not require a link to the database.&lt;br /&gt;
&lt;br /&gt;
The second option (described below) is to create a dynamic link to the database. (You must be connected to the network.) In this case you are always viewing updated data that is in the actual SURF database. The first set of instructions is for Access 2007-2010, while the second is for the older version of Access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2007-2010'''.&lt;br /&gt;
# Go to '''External data | ODBC Database'''.&lt;br /&gt;
# Select '''Link to the data source by creating a linked table'''. Click OK.&lt;br /&gt;
# In '''Select Data Source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2003'''.&lt;br /&gt;
# Go to '''File | Get external data | Link tables'''.&lt;br /&gt;
# In '''Files of type''', select '''ODBC databases'''.&lt;br /&gt;
# In '''Select data source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You now have access to your selected tables in the database. Have fun.&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1446</id>
		<title>How to access the e-Ecology database</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1446"/>
				<updated>2023-07-20T08:29:10Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* How to access the database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=General Information=&lt;br /&gt;
&lt;br /&gt;
The UvA-BiTS database is a spatial postgreSQL database([http://www.postgresql.org/]). In order to access the database you must first have a user name and password provided to you by SURF.&lt;br /&gt;
&lt;br /&gt;
=How to access the database=&lt;br /&gt;
'''Through the web portal'''&lt;br /&gt;
&lt;br /&gt;
The database is no longer directly accessible via the PgAdmin app, so you will need to access the database either through an ODBC connection (see below) or through a new web portal by following these instructions:&lt;br /&gt;
&lt;br /&gt;
1. Go to pgadmin.e-ecology.nl and log in with your e-Ecology credentials&lt;br /&gt;
&lt;br /&gt;
2. Click on &amp;quot;Add New Server”&lt;br /&gt;
&lt;br /&gt;
3. In &amp;quot;General&amp;quot; tab fill out the fields as following: &lt;br /&gt;
     Name: UvA-BiTS&lt;br /&gt;
4. In the &amp;quot;Connection&amp;quot; tab fill out the fields as following:&lt;br /&gt;
     Host name / address: pub.e-ecology.nl&lt;br /&gt;
     Port: 5432&lt;br /&gt;
     Maintenance DB: eecology&lt;br /&gt;
5. Fill in your username and password in the “Connection&amp;quot; tab&lt;br /&gt;
 &lt;br /&gt;
6. Press “Save&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Connecting via other programs:''' &lt;br /&gt;
You can also connect to the database via other programs (Access, R, etc.) by setting up an ODBC driver for postgreSQL and establishing a &amp;quot;User Data Source&amp;quot;. (See &amp;quot;Setting Up an ODBC Connection&amp;quot; below.)&lt;br /&gt;
&lt;br /&gt;
'''Now that I have connected, what do all these tables and views really mean?''' See the UvA-BiTS Data Model page of this wiki.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Windows) =&lt;br /&gt;
&lt;br /&gt;
ODBC (Open Database connectivity) is a standard method of sharing data between databases and other programs. ODBC drivers use SQL to gain access to data from sources outside the program.  Therefore, in order to connect between your database and other programs you must set up an ODBC connection.&lt;br /&gt;
  &lt;br /&gt;
Step 1: Download and install the most recent ODBC driver for postgreSQL.&lt;br /&gt;
[http://www.postgresql.org/ftp/odbc/versions/msi/]&lt;br /&gt;
&lt;br /&gt;
Step 2: Set up an ODBC connection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do the following (variations may exist between windows operating systems):&lt;br /&gt;
# Go to '''start | Control panel | Administrative tools | Data sources (ODBC)'''. If you are having trouble finding it, type &amp;quot;ODBC&amp;quot; into the Search box at the top of the Control Panel window.&lt;br /&gt;
# Go to '''User DSN''' (first tab in Data sources).&lt;br /&gt;
# Click '''ADD'''.&lt;br /&gt;
# In the window '''Create''' '''New Data Source''' select '''PostgreSQL ANSI''' and click '''FINISH'''.&lt;br /&gt;
# The '''ODBC Driver Setup''' window opens. '''Data source name''': give your data source a name (e.g. GPS).  Keep it simple and easily identifiable since this is the name you will use to identify your database from other applications; this will be the '''ODBC driver name'''.&lt;br /&gt;
# In the same window, fill in the following information: '''database''' ''eecology'', '''Server'''  ''pub.e-ecology.nl'', '''User Name''' ''your user name'', '''SSL Mode''' ''require'', '''Port''' ''5432'', '''Password''' ''your password''. Click '''TEST''' to test your connection. When the window is completed click '''SAVE'''.&lt;br /&gt;
# Back in the '''User DSN''' window you should now see the ODBC driver you just named. Click '''OK'''.&lt;br /&gt;
After completing these steps many other programs will now recognize your database and be able to communicate with it. &lt;br /&gt;
&lt;br /&gt;
If you are having problems setting up the connection, go back to Step 1 above and make sure that you have installed the most recent version of the PostgreSQL ODBC driver.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (MacOSX 10.8.5 ) =&lt;br /&gt;
&lt;br /&gt;
The PostgreSQL ODBC driver provided here is a 64-bit driver. It will probably only work if the other components involved in accessing the UvA-BiTS database are also 64-bit. This includes R, iODBC, and libpq. It has been tested on MacOSX 10.8.5 (Mountain Lion) with 64-bit R 3.0.2 (Frisbee Sailing). If you have an older version of MacOSX, and/or a 32-bit version of R installed, this driver may or may not work for you. There's no harm in trying. If it does not work, and you have a 32-bit version of R installed, try using the 64-bit version instead (this will allow R to use more memory as well, possibly speeding up your calculations). &lt;br /&gt;
&lt;br /&gt;
1. Download the ODBC Administrator Tool for Mac OS X v1.0 using the following URL http://support.apple.com/kb/DL895&lt;br /&gt;
&lt;br /&gt;
2. Download the zip file found here [http://horizon.science.uva.nl/public/pgodbc_macosx/]. Unpack the .zip file into your home directory by double clicking it. Your home directory will usually have your name and is located in Macintosh HD &amp;gt; Users next to the little symbol of a house. This will create a folder called &amp;quot;pgodbc&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
3. Open the iODBC Administator.app from within Applications.&lt;br /&gt;
&lt;br /&gt;
4. Select the tab &amp;quot;ODBC Drivers&amp;quot; and click on &amp;quot;Add a driver&amp;quot;. A new window will open.&lt;br /&gt;
&lt;br /&gt;
5. The first field is &amp;quot;Description of the driver&amp;quot;. Type in &amp;quot;PostgreSQL&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. Click on &amp;quot;Browse&amp;quot; next to the second field to locate and select the driver file you unpacked from the .zip file you downloaded.&lt;br /&gt;
&lt;br /&gt;
7. Go to folder &amp;quot;pgodbc&amp;quot; in your home directory, and select the driver file &amp;quot;psqlodbcw.so&amp;quot;&lt;br /&gt;
&lt;br /&gt;
8. Make sure the driver is defined as &amp;quot;System&amp;quot;, i.e., that the &amp;quot;System&amp;quot; option is selected and not the &amp;quot;User&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
9. Click on &amp;quot;Add&amp;quot; at the bottom of this window, and &amp;quot;OK&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should now be able to access the database through R using the R script provided.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Linux) =&lt;br /&gt;
&lt;br /&gt;
1. Install unixODBC and its -dev file&lt;br /&gt;
$ sudo apt-get install unixODBC unixODBC-dev&lt;br /&gt;
&lt;br /&gt;
2. Install the postgresql package&lt;br /&gt;
&lt;br /&gt;
  $ sudo apt-get install odbc-postgresql&lt;br /&gt;
&lt;br /&gt;
3. Configure the PostgreSQL ODBC driver in the /etc/odbcinst.ini file&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbcinst.ini&lt;br /&gt;
&lt;br /&gt;
4. On Ubuntu, the /etc/odbcinst.ini file will be blank, so you’ll need to add the data to that configuration file. Add the following to the odbcinst.ini file:&lt;br /&gt;
&lt;br /&gt;
  [PostgreSQL]&lt;br /&gt;
  Description = ODBC for PostgreSQL&lt;br /&gt;
  Driver = /usr/lib/odbc/psqlodbca.so&lt;br /&gt;
  Setup = /usr/lib/odbc/libodbcpsqlS.so&lt;br /&gt;
  FileUsage = 1&lt;br /&gt;
'''Be careful,''' on x64, the path for the driver and setup should look&lt;br /&gt;
something like that /usr/lib/x86_64-linux-gnu/odbc/ (use the command $&lt;br /&gt;
mlocate psql to find the appropriate path...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Verify that the system is able to see the driver by running the&lt;br /&gt;
following command. It should return the label name [PostgreSQL] if all is&lt;br /&gt;
well:&lt;br /&gt;
&lt;br /&gt;
  $ odbcinst -q -d&lt;br /&gt;
&lt;br /&gt;
6. Next, configure the /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
Here is what the text file should look like&lt;br /&gt;
&lt;br /&gt;
  [GPStracker]&lt;br /&gt;
  Driver       = PostgreSQL&lt;br /&gt;
  Description  = PostgreSQL connection to the UvA BiTS DataBase&lt;br /&gt;
  Servername   = pub.e-ecology.nl&lt;br /&gt;
  Port         = 5432&lt;br /&gt;
  UserName     = user_name&lt;br /&gt;
  Password     = yourpassword&lt;br /&gt;
  Database     = eecology&lt;br /&gt;
  SSLMode      = prefer&lt;br /&gt;
  OPTION       = 3&lt;br /&gt;
  SOCKET       =&lt;br /&gt;
&lt;br /&gt;
You should now be able to connect to the database, for example via RODBC.&lt;br /&gt;
&lt;br /&gt;
= Connecting other programs to the UvA-BiTS database (e.g. R, Access, ArcGIS) =&lt;br /&gt;
&lt;br /&gt;
This section provides information on how to set up an Open Database Connectivity (ODBC) which will enable many software packages to extract data directly from the database.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Here you provide the name of the database file or the user DSN name for a given ODBC data source (as described above).&lt;br /&gt;
 &lt;br /&gt;
 db.file &amp;lt;-&amp;quot;GPS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Load the RODBC library.  Visit the CRAN repository &amp;lt;http://cran.r-project.org/web/packages/&amp;gt; for a list of contributed packages and instructions for installation. Packages may be installed using the GUI interface or using ?install.packages.&lt;br /&gt;
&lt;br /&gt;
 library(RODBC)&lt;br /&gt;
&lt;br /&gt;
Establish a connection to the database, the following code is used if reading from an ODBC data source.&lt;br /&gt;
&lt;br /&gt;
 db &amp;lt;- odbcConnect(db.file) &lt;br /&gt;
&lt;br /&gt;
View the table names in the database.&lt;br /&gt;
&lt;br /&gt;
 sqlTables(db)&lt;br /&gt;
&lt;br /&gt;
View the field (column) names of a specific table.&lt;br /&gt;
&lt;br /&gt;
 sqlColumns(db, table.name)&lt;br /&gt;
&lt;br /&gt;
Query the database, returning data from table gps.uva_tracking_speed_limited, for device_info_serial 1 as dataframe &amp;quot;test&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R (mac) ==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Connect to the database in R with the package RODBC, using your username and password.&lt;br /&gt;
Install the RODBC package and any dependencies&lt;br /&gt;
 install.packages(&amp;quot;RODBC&amp;quot;, dep=T)&lt;br /&gt;
 require(RODBC)&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;user&amp;quot; and &amp;quot;password&amp;quot; with your own username and password provided by SURF:&lt;br /&gt;
 my_username &amp;lt;- &amp;quot;user&amp;quot;&lt;br /&gt;
 my_password &amp;lt;- &amp;quot;password&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Define the connection and connect from within R:&lt;br /&gt;
 l.connstring &amp;lt;- 'DRIVER=PostgreSQL;'&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SERVER=pub.e-ecology.nl;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'PORT=5432;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SSLMODE=require;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'DATABASE=eecology;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;USERNAME=&amp;quot;, my_username, &amp;quot;;&amp;quot;, sep=''), sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;PASSWORD=&amp;quot;, my_password, &amp;quot;;&amp;quot;, sep='') , sep = '') &lt;br /&gt;
&lt;br /&gt;
 GPS &amp;lt;- odbcDriverConnect(l.connstring, case = &amp;quot;tolower&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
From here you can write SQL queries and retrieve the data through R. Here is an example.&lt;br /&gt;
&lt;br /&gt;
To extract GPS data, remember to replace &amp;lt;insert bird id&amp;gt; with the device serial number of one of your tracked birds: &lt;br /&gt;
 gps_test &amp;lt;- sqlQuery(GPS, query = &amp;quot;SELECT * &lt;br /&gt;
 FROM gps.ee_tracking_speed_limited s  &lt;br /&gt;
 WHERE s.device_info_serial = &amp;lt;insert bird ID&amp;gt;&amp;quot;, as.is=c(2))&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in Access==&lt;br /&gt;
After completing the steps for setting up an ODBC connection, you can connect to the database via Access. You have two options. One is to import the data; once this is done your database is not automatically updated but does not require a link to the database.&lt;br /&gt;
&lt;br /&gt;
The second option (described below) is to create a dynamic link to the database. (You must be connected to the network.) In this case you are always viewing updated data that is in the actual SURF database. The first set of instructions is for Access 2007-2010, while the second is for the older version of Access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2007-2010'''.&lt;br /&gt;
# Go to '''External data | ODBC Database'''.&lt;br /&gt;
# Select '''Link to the data source by creating a linked table'''. Click OK.&lt;br /&gt;
# In '''Select Data Source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2003'''.&lt;br /&gt;
# Go to '''File | Get external data | Link tables'''.&lt;br /&gt;
# In '''Files of type''', select '''ODBC databases'''.&lt;br /&gt;
# In '''Select data source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You now have access to your selected tables in the database. Have fun.&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1445</id>
		<title>How to access the e-Ecology database</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1445"/>
				<updated>2023-07-20T08:28:28Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* How to access the database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=General Information=&lt;br /&gt;
&lt;br /&gt;
The UvA-BiTS database is a spatial postgreSQL database([http://www.postgresql.org/]). In order to access the database you must first have a user name and password provided to you by SURF.&lt;br /&gt;
&lt;br /&gt;
=How to access the database=&lt;br /&gt;
'''Through the web portal'''&lt;br /&gt;
&lt;br /&gt;
The database is no longer directly accessible via the PgAdmin app, so you will need to access the database either through an ODBC connection (see below) or through a new web portal by following these instructions:&lt;br /&gt;
&lt;br /&gt;
1. Go to pgadmin.e-ecology.nl and log in with your e-Ecology credentials&lt;br /&gt;
&lt;br /&gt;
2. Click on &amp;quot;Add New Server”&lt;br /&gt;
&lt;br /&gt;
3. In &amp;quot;General&amp;quot; tab fill out the fields as following: &lt;br /&gt;
     Name: UvA-BiTS&lt;br /&gt;
&lt;br /&gt;
4. In the &amp;quot;Connection&amp;quot; tab fill out the fields as following:&lt;br /&gt;
     Host name / address: pub.e-ecology.nl&lt;br /&gt;
     Port: 5432&lt;br /&gt;
     Maintenance DB: eecology&lt;br /&gt;
 &lt;br /&gt;
5. Fill in your username and password in the “Connection&amp;quot; tab&lt;br /&gt;
 &lt;br /&gt;
6. Press “Save&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Connecting via other programs:''' &lt;br /&gt;
You can also connect to the database via other programs (Access, R, etc.) by setting up an ODBC driver for postgreSQL and establishing a &amp;quot;User Data Source&amp;quot;. (See &amp;quot;Setting Up an ODBC Connection&amp;quot; below.)&lt;br /&gt;
&lt;br /&gt;
'''Now that I have connected, what do all these tables and views really mean?''' See the UvA-BiTS Data Model page of this wiki.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Windows) =&lt;br /&gt;
&lt;br /&gt;
ODBC (Open Database connectivity) is a standard method of sharing data between databases and other programs. ODBC drivers use SQL to gain access to data from sources outside the program.  Therefore, in order to connect between your database and other programs you must set up an ODBC connection.&lt;br /&gt;
  &lt;br /&gt;
Step 1: Download and install the most recent ODBC driver for postgreSQL.&lt;br /&gt;
[http://www.postgresql.org/ftp/odbc/versions/msi/]&lt;br /&gt;
&lt;br /&gt;
Step 2: Set up an ODBC connection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do the following (variations may exist between windows operating systems):&lt;br /&gt;
# Go to '''start | Control panel | Administrative tools | Data sources (ODBC)'''. If you are having trouble finding it, type &amp;quot;ODBC&amp;quot; into the Search box at the top of the Control Panel window.&lt;br /&gt;
# Go to '''User DSN''' (first tab in Data sources).&lt;br /&gt;
# Click '''ADD'''.&lt;br /&gt;
# In the window '''Create''' '''New Data Source''' select '''PostgreSQL ANSI''' and click '''FINISH'''.&lt;br /&gt;
# The '''ODBC Driver Setup''' window opens. '''Data source name''': give your data source a name (e.g. GPS).  Keep it simple and easily identifiable since this is the name you will use to identify your database from other applications; this will be the '''ODBC driver name'''.&lt;br /&gt;
# In the same window, fill in the following information: '''database''' ''eecology'', '''Server'''  ''pub.e-ecology.nl'', '''User Name''' ''your user name'', '''SSL Mode''' ''require'', '''Port''' ''5432'', '''Password''' ''your password''. Click '''TEST''' to test your connection. When the window is completed click '''SAVE'''.&lt;br /&gt;
# Back in the '''User DSN''' window you should now see the ODBC driver you just named. Click '''OK'''.&lt;br /&gt;
After completing these steps many other programs will now recognize your database and be able to communicate with it. &lt;br /&gt;
&lt;br /&gt;
If you are having problems setting up the connection, go back to Step 1 above and make sure that you have installed the most recent version of the PostgreSQL ODBC driver.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (MacOSX 10.8.5 ) =&lt;br /&gt;
&lt;br /&gt;
The PostgreSQL ODBC driver provided here is a 64-bit driver. It will probably only work if the other components involved in accessing the UvA-BiTS database are also 64-bit. This includes R, iODBC, and libpq. It has been tested on MacOSX 10.8.5 (Mountain Lion) with 64-bit R 3.0.2 (Frisbee Sailing). If you have an older version of MacOSX, and/or a 32-bit version of R installed, this driver may or may not work for you. There's no harm in trying. If it does not work, and you have a 32-bit version of R installed, try using the 64-bit version instead (this will allow R to use more memory as well, possibly speeding up your calculations). &lt;br /&gt;
&lt;br /&gt;
1. Download the ODBC Administrator Tool for Mac OS X v1.0 using the following URL http://support.apple.com/kb/DL895&lt;br /&gt;
&lt;br /&gt;
2. Download the zip file found here [http://horizon.science.uva.nl/public/pgodbc_macosx/]. Unpack the .zip file into your home directory by double clicking it. Your home directory will usually have your name and is located in Macintosh HD &amp;gt; Users next to the little symbol of a house. This will create a folder called &amp;quot;pgodbc&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
3. Open the iODBC Administator.app from within Applications.&lt;br /&gt;
&lt;br /&gt;
4. Select the tab &amp;quot;ODBC Drivers&amp;quot; and click on &amp;quot;Add a driver&amp;quot;. A new window will open.&lt;br /&gt;
&lt;br /&gt;
5. The first field is &amp;quot;Description of the driver&amp;quot;. Type in &amp;quot;PostgreSQL&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. Click on &amp;quot;Browse&amp;quot; next to the second field to locate and select the driver file you unpacked from the .zip file you downloaded.&lt;br /&gt;
&lt;br /&gt;
7. Go to folder &amp;quot;pgodbc&amp;quot; in your home directory, and select the driver file &amp;quot;psqlodbcw.so&amp;quot;&lt;br /&gt;
&lt;br /&gt;
8. Make sure the driver is defined as &amp;quot;System&amp;quot;, i.e., that the &amp;quot;System&amp;quot; option is selected and not the &amp;quot;User&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
9. Click on &amp;quot;Add&amp;quot; at the bottom of this window, and &amp;quot;OK&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should now be able to access the database through R using the R script provided.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Linux) =&lt;br /&gt;
&lt;br /&gt;
1. Install unixODBC and its -dev file&lt;br /&gt;
$ sudo apt-get install unixODBC unixODBC-dev&lt;br /&gt;
&lt;br /&gt;
2. Install the postgresql package&lt;br /&gt;
&lt;br /&gt;
  $ sudo apt-get install odbc-postgresql&lt;br /&gt;
&lt;br /&gt;
3. Configure the PostgreSQL ODBC driver in the /etc/odbcinst.ini file&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbcinst.ini&lt;br /&gt;
&lt;br /&gt;
4. On Ubuntu, the /etc/odbcinst.ini file will be blank, so you’ll need to add the data to that configuration file. Add the following to the odbcinst.ini file:&lt;br /&gt;
&lt;br /&gt;
  [PostgreSQL]&lt;br /&gt;
  Description = ODBC for PostgreSQL&lt;br /&gt;
  Driver = /usr/lib/odbc/psqlodbca.so&lt;br /&gt;
  Setup = /usr/lib/odbc/libodbcpsqlS.so&lt;br /&gt;
  FileUsage = 1&lt;br /&gt;
'''Be careful,''' on x64, the path for the driver and setup should look&lt;br /&gt;
something like that /usr/lib/x86_64-linux-gnu/odbc/ (use the command $&lt;br /&gt;
mlocate psql to find the appropriate path...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Verify that the system is able to see the driver by running the&lt;br /&gt;
following command. It should return the label name [PostgreSQL] if all is&lt;br /&gt;
well:&lt;br /&gt;
&lt;br /&gt;
  $ odbcinst -q -d&lt;br /&gt;
&lt;br /&gt;
6. Next, configure the /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
Here is what the text file should look like&lt;br /&gt;
&lt;br /&gt;
  [GPStracker]&lt;br /&gt;
  Driver       = PostgreSQL&lt;br /&gt;
  Description  = PostgreSQL connection to the UvA BiTS DataBase&lt;br /&gt;
  Servername   = pub.e-ecology.nl&lt;br /&gt;
  Port         = 5432&lt;br /&gt;
  UserName     = user_name&lt;br /&gt;
  Password     = yourpassword&lt;br /&gt;
  Database     = eecology&lt;br /&gt;
  SSLMode      = prefer&lt;br /&gt;
  OPTION       = 3&lt;br /&gt;
  SOCKET       =&lt;br /&gt;
&lt;br /&gt;
You should now be able to connect to the database, for example via RODBC.&lt;br /&gt;
&lt;br /&gt;
= Connecting other programs to the UvA-BiTS database (e.g. R, Access, ArcGIS) =&lt;br /&gt;
&lt;br /&gt;
This section provides information on how to set up an Open Database Connectivity (ODBC) which will enable many software packages to extract data directly from the database.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Here you provide the name of the database file or the user DSN name for a given ODBC data source (as described above).&lt;br /&gt;
 &lt;br /&gt;
 db.file &amp;lt;-&amp;quot;GPS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Load the RODBC library.  Visit the CRAN repository &amp;lt;http://cran.r-project.org/web/packages/&amp;gt; for a list of contributed packages and instructions for installation. Packages may be installed using the GUI interface or using ?install.packages.&lt;br /&gt;
&lt;br /&gt;
 library(RODBC)&lt;br /&gt;
&lt;br /&gt;
Establish a connection to the database, the following code is used if reading from an ODBC data source.&lt;br /&gt;
&lt;br /&gt;
 db &amp;lt;- odbcConnect(db.file) &lt;br /&gt;
&lt;br /&gt;
View the table names in the database.&lt;br /&gt;
&lt;br /&gt;
 sqlTables(db)&lt;br /&gt;
&lt;br /&gt;
View the field (column) names of a specific table.&lt;br /&gt;
&lt;br /&gt;
 sqlColumns(db, table.name)&lt;br /&gt;
&lt;br /&gt;
Query the database, returning data from table gps.uva_tracking_speed_limited, for device_info_serial 1 as dataframe &amp;quot;test&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R (mac) ==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Connect to the database in R with the package RODBC, using your username and password.&lt;br /&gt;
Install the RODBC package and any dependencies&lt;br /&gt;
 install.packages(&amp;quot;RODBC&amp;quot;, dep=T)&lt;br /&gt;
 require(RODBC)&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;user&amp;quot; and &amp;quot;password&amp;quot; with your own username and password provided by SURF:&lt;br /&gt;
 my_username &amp;lt;- &amp;quot;user&amp;quot;&lt;br /&gt;
 my_password &amp;lt;- &amp;quot;password&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Define the connection and connect from within R:&lt;br /&gt;
 l.connstring &amp;lt;- 'DRIVER=PostgreSQL;'&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SERVER=pub.e-ecology.nl;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'PORT=5432;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SSLMODE=require;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'DATABASE=eecology;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;USERNAME=&amp;quot;, my_username, &amp;quot;;&amp;quot;, sep=''), sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;PASSWORD=&amp;quot;, my_password, &amp;quot;;&amp;quot;, sep='') , sep = '') &lt;br /&gt;
&lt;br /&gt;
 GPS &amp;lt;- odbcDriverConnect(l.connstring, case = &amp;quot;tolower&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
From here you can write SQL queries and retrieve the data through R. Here is an example.&lt;br /&gt;
&lt;br /&gt;
To extract GPS data, remember to replace &amp;lt;insert bird id&amp;gt; with the device serial number of one of your tracked birds: &lt;br /&gt;
 gps_test &amp;lt;- sqlQuery(GPS, query = &amp;quot;SELECT * &lt;br /&gt;
 FROM gps.ee_tracking_speed_limited s  &lt;br /&gt;
 WHERE s.device_info_serial = &amp;lt;insert bird ID&amp;gt;&amp;quot;, as.is=c(2))&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in Access==&lt;br /&gt;
After completing the steps for setting up an ODBC connection, you can connect to the database via Access. You have two options. One is to import the data; once this is done your database is not automatically updated but does not require a link to the database.&lt;br /&gt;
&lt;br /&gt;
The second option (described below) is to create a dynamic link to the database. (You must be connected to the network.) In this case you are always viewing updated data that is in the actual SURF database. The first set of instructions is for Access 2007-2010, while the second is for the older version of Access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2007-2010'''.&lt;br /&gt;
# Go to '''External data | ODBC Database'''.&lt;br /&gt;
# Select '''Link to the data source by creating a linked table'''. Click OK.&lt;br /&gt;
# In '''Select Data Source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2003'''.&lt;br /&gt;
# Go to '''File | Get external data | Link tables'''.&lt;br /&gt;
# In '''Files of type''', select '''ODBC databases'''.&lt;br /&gt;
# In '''Select data source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You now have access to your selected tables in the database. Have fun.&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1444</id>
		<title>How to access the e-Ecology database</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1444"/>
				<updated>2023-07-20T08:25:43Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* How to access the database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=General Information=&lt;br /&gt;
&lt;br /&gt;
The UvA-BiTS database is a spatial postgreSQL database([http://www.postgresql.org/]). In order to access the database you must first have a user name and password provided to you by SURF.&lt;br /&gt;
&lt;br /&gt;
=How to access the database=&lt;br /&gt;
'''Through the web portal'''&lt;br /&gt;
&lt;br /&gt;
The Phgpadmin database is no longer active so you will need to access the database either through an ODBC connection (see below) or through a new web portal by following these instructions:&lt;br /&gt;
&lt;br /&gt;
1. Go to pgadmin.e-ecology.nl and log in with your e-Ecology credentials&lt;br /&gt;
&lt;br /&gt;
2. Click on &amp;quot;Add New Server”&lt;br /&gt;
&lt;br /&gt;
3. In &amp;quot;General&amp;quot; tab fill out the fields as following: &lt;br /&gt;
     Name: UvA-BiTS&lt;br /&gt;
&lt;br /&gt;
4. In the &amp;quot;Connection&amp;quot; tab fill out the fields as following:&lt;br /&gt;
     Host name / address: pub.e-ecology.nl&lt;br /&gt;
     Port: 5432&lt;br /&gt;
     Maintenance DB: eecology&lt;br /&gt;
 &lt;br /&gt;
5. Fill in your username and password in the “Connection&amp;quot; tab&lt;br /&gt;
 &lt;br /&gt;
6. Press “Save&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Connecting via other programs:''' &lt;br /&gt;
You can also connect to the database via other programs (Access, R, etc.) by setting up an ODBC driver for postgreSQL and establishing a &amp;quot;User Data Source&amp;quot;. (See &amp;quot;Setting Up an ODBC Connection&amp;quot; below.)&lt;br /&gt;
&lt;br /&gt;
'''Now that I have connected, what do all these tables and views really mean?''' See the UvA-BiTS Data Model page of this wiki.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Windows) =&lt;br /&gt;
&lt;br /&gt;
ODBC (Open Database connectivity) is a standard method of sharing data between databases and other programs. ODBC drivers use SQL to gain access to data from sources outside the program.  Therefore, in order to connect between your database and other programs you must set up an ODBC connection.&lt;br /&gt;
  &lt;br /&gt;
Step 1: Download and install the most recent ODBC driver for postgreSQL.&lt;br /&gt;
[http://www.postgresql.org/ftp/odbc/versions/msi/]&lt;br /&gt;
&lt;br /&gt;
Step 2: Set up an ODBC connection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do the following (variations may exist between windows operating systems):&lt;br /&gt;
# Go to '''start | Control panel | Administrative tools | Data sources (ODBC)'''. If you are having trouble finding it, type &amp;quot;ODBC&amp;quot; into the Search box at the top of the Control Panel window.&lt;br /&gt;
# Go to '''User DSN''' (first tab in Data sources).&lt;br /&gt;
# Click '''ADD'''.&lt;br /&gt;
# In the window '''Create''' '''New Data Source''' select '''PostgreSQL ANSI''' and click '''FINISH'''.&lt;br /&gt;
# The '''ODBC Driver Setup''' window opens. '''Data source name''': give your data source a name (e.g. GPS).  Keep it simple and easily identifiable since this is the name you will use to identify your database from other applications; this will be the '''ODBC driver name'''.&lt;br /&gt;
# In the same window, fill in the following information: '''database''' ''eecology'', '''Server'''  ''pub.e-ecology.nl'', '''User Name''' ''your user name'', '''SSL Mode''' ''require'', '''Port''' ''5432'', '''Password''' ''your password''. Click '''TEST''' to test your connection. When the window is completed click '''SAVE'''.&lt;br /&gt;
# Back in the '''User DSN''' window you should now see the ODBC driver you just named. Click '''OK'''.&lt;br /&gt;
After completing these steps many other programs will now recognize your database and be able to communicate with it. &lt;br /&gt;
&lt;br /&gt;
If you are having problems setting up the connection, go back to Step 1 above and make sure that you have installed the most recent version of the PostgreSQL ODBC driver.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (MacOSX 10.8.5 ) =&lt;br /&gt;
&lt;br /&gt;
The PostgreSQL ODBC driver provided here is a 64-bit driver. It will probably only work if the other components involved in accessing the UvA-BiTS database are also 64-bit. This includes R, iODBC, and libpq. It has been tested on MacOSX 10.8.5 (Mountain Lion) with 64-bit R 3.0.2 (Frisbee Sailing). If you have an older version of MacOSX, and/or a 32-bit version of R installed, this driver may or may not work for you. There's no harm in trying. If it does not work, and you have a 32-bit version of R installed, try using the 64-bit version instead (this will allow R to use more memory as well, possibly speeding up your calculations). &lt;br /&gt;
&lt;br /&gt;
1. Download the ODBC Administrator Tool for Mac OS X v1.0 using the following URL http://support.apple.com/kb/DL895&lt;br /&gt;
&lt;br /&gt;
2. Download the zip file found here [http://horizon.science.uva.nl/public/pgodbc_macosx/]. Unpack the .zip file into your home directory by double clicking it. Your home directory will usually have your name and is located in Macintosh HD &amp;gt; Users next to the little symbol of a house. This will create a folder called &amp;quot;pgodbc&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
3. Open the iODBC Administator.app from within Applications.&lt;br /&gt;
&lt;br /&gt;
4. Select the tab &amp;quot;ODBC Drivers&amp;quot; and click on &amp;quot;Add a driver&amp;quot;. A new window will open.&lt;br /&gt;
&lt;br /&gt;
5. The first field is &amp;quot;Description of the driver&amp;quot;. Type in &amp;quot;PostgreSQL&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. Click on &amp;quot;Browse&amp;quot; next to the second field to locate and select the driver file you unpacked from the .zip file you downloaded.&lt;br /&gt;
&lt;br /&gt;
7. Go to folder &amp;quot;pgodbc&amp;quot; in your home directory, and select the driver file &amp;quot;psqlodbcw.so&amp;quot;&lt;br /&gt;
&lt;br /&gt;
8. Make sure the driver is defined as &amp;quot;System&amp;quot;, i.e., that the &amp;quot;System&amp;quot; option is selected and not the &amp;quot;User&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
9. Click on &amp;quot;Add&amp;quot; at the bottom of this window, and &amp;quot;OK&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should now be able to access the database through R using the R script provided.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Linux) =&lt;br /&gt;
&lt;br /&gt;
1. Install unixODBC and its -dev file&lt;br /&gt;
$ sudo apt-get install unixODBC unixODBC-dev&lt;br /&gt;
&lt;br /&gt;
2. Install the postgresql package&lt;br /&gt;
&lt;br /&gt;
  $ sudo apt-get install odbc-postgresql&lt;br /&gt;
&lt;br /&gt;
3. Configure the PostgreSQL ODBC driver in the /etc/odbcinst.ini file&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbcinst.ini&lt;br /&gt;
&lt;br /&gt;
4. On Ubuntu, the /etc/odbcinst.ini file will be blank, so you’ll need to add the data to that configuration file. Add the following to the odbcinst.ini file:&lt;br /&gt;
&lt;br /&gt;
  [PostgreSQL]&lt;br /&gt;
  Description = ODBC for PostgreSQL&lt;br /&gt;
  Driver = /usr/lib/odbc/psqlodbca.so&lt;br /&gt;
  Setup = /usr/lib/odbc/libodbcpsqlS.so&lt;br /&gt;
  FileUsage = 1&lt;br /&gt;
'''Be careful,''' on x64, the path for the driver and setup should look&lt;br /&gt;
something like that /usr/lib/x86_64-linux-gnu/odbc/ (use the command $&lt;br /&gt;
mlocate psql to find the appropriate path...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Verify that the system is able to see the driver by running the&lt;br /&gt;
following command. It should return the label name [PostgreSQL] if all is&lt;br /&gt;
well:&lt;br /&gt;
&lt;br /&gt;
  $ odbcinst -q -d&lt;br /&gt;
&lt;br /&gt;
6. Next, configure the /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
Here is what the text file should look like&lt;br /&gt;
&lt;br /&gt;
  [GPStracker]&lt;br /&gt;
  Driver       = PostgreSQL&lt;br /&gt;
  Description  = PostgreSQL connection to the UvA BiTS DataBase&lt;br /&gt;
  Servername   = pub.e-ecology.nl&lt;br /&gt;
  Port         = 5432&lt;br /&gt;
  UserName     = user_name&lt;br /&gt;
  Password     = yourpassword&lt;br /&gt;
  Database     = eecology&lt;br /&gt;
  SSLMode      = prefer&lt;br /&gt;
  OPTION       = 3&lt;br /&gt;
  SOCKET       =&lt;br /&gt;
&lt;br /&gt;
You should now be able to connect to the database, for example via RODBC.&lt;br /&gt;
&lt;br /&gt;
= Connecting other programs to the UvA-BiTS database (e.g. R, Access, ArcGIS) =&lt;br /&gt;
&lt;br /&gt;
This section provides information on how to set up an Open Database Connectivity (ODBC) which will enable many software packages to extract data directly from the database.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Here you provide the name of the database file or the user DSN name for a given ODBC data source (as described above).&lt;br /&gt;
 &lt;br /&gt;
 db.file &amp;lt;-&amp;quot;GPS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Load the RODBC library.  Visit the CRAN repository &amp;lt;http://cran.r-project.org/web/packages/&amp;gt; for a list of contributed packages and instructions for installation. Packages may be installed using the GUI interface or using ?install.packages.&lt;br /&gt;
&lt;br /&gt;
 library(RODBC)&lt;br /&gt;
&lt;br /&gt;
Establish a connection to the database, the following code is used if reading from an ODBC data source.&lt;br /&gt;
&lt;br /&gt;
 db &amp;lt;- odbcConnect(db.file) &lt;br /&gt;
&lt;br /&gt;
View the table names in the database.&lt;br /&gt;
&lt;br /&gt;
 sqlTables(db)&lt;br /&gt;
&lt;br /&gt;
View the field (column) names of a specific table.&lt;br /&gt;
&lt;br /&gt;
 sqlColumns(db, table.name)&lt;br /&gt;
&lt;br /&gt;
Query the database, returning data from table gps.uva_tracking_speed_limited, for device_info_serial 1 as dataframe &amp;quot;test&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R (mac) ==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Connect to the database in R with the package RODBC, using your username and password.&lt;br /&gt;
Install the RODBC package and any dependencies&lt;br /&gt;
 install.packages(&amp;quot;RODBC&amp;quot;, dep=T)&lt;br /&gt;
 require(RODBC)&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;user&amp;quot; and &amp;quot;password&amp;quot; with your own username and password provided by SURF:&lt;br /&gt;
 my_username &amp;lt;- &amp;quot;user&amp;quot;&lt;br /&gt;
 my_password &amp;lt;- &amp;quot;password&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Define the connection and connect from within R:&lt;br /&gt;
 l.connstring &amp;lt;- 'DRIVER=PostgreSQL;'&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SERVER=pub.e-ecology.nl;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'PORT=5432;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SSLMODE=require;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'DATABASE=eecology;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;USERNAME=&amp;quot;, my_username, &amp;quot;;&amp;quot;, sep=''), sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;PASSWORD=&amp;quot;, my_password, &amp;quot;;&amp;quot;, sep='') , sep = '') &lt;br /&gt;
&lt;br /&gt;
 GPS &amp;lt;- odbcDriverConnect(l.connstring, case = &amp;quot;tolower&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
From here you can write SQL queries and retrieve the data through R. Here is an example.&lt;br /&gt;
&lt;br /&gt;
To extract GPS data, remember to replace &amp;lt;insert bird id&amp;gt; with the device serial number of one of your tracked birds: &lt;br /&gt;
 gps_test &amp;lt;- sqlQuery(GPS, query = &amp;quot;SELECT * &lt;br /&gt;
 FROM gps.ee_tracking_speed_limited s  &lt;br /&gt;
 WHERE s.device_info_serial = &amp;lt;insert bird ID&amp;gt;&amp;quot;, as.is=c(2))&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in Access==&lt;br /&gt;
After completing the steps for setting up an ODBC connection, you can connect to the database via Access. You have two options. One is to import the data; once this is done your database is not automatically updated but does not require a link to the database.&lt;br /&gt;
&lt;br /&gt;
The second option (described below) is to create a dynamic link to the database. (You must be connected to the network.) In this case you are always viewing updated data that is in the actual SURF database. The first set of instructions is for Access 2007-2010, while the second is for the older version of Access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2007-2010'''.&lt;br /&gt;
# Go to '''External data | ODBC Database'''.&lt;br /&gt;
# Select '''Link to the data source by creating a linked table'''. Click OK.&lt;br /&gt;
# In '''Select Data Source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2003'''.&lt;br /&gt;
# Go to '''File | Get external data | Link tables'''.&lt;br /&gt;
# In '''Files of type''', select '''ODBC databases'''.&lt;br /&gt;
# In '''Select data source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You now have access to your selected tables in the database. Have fun.&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1443</id>
		<title>How to access the e-Ecology database</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1443"/>
				<updated>2023-07-20T08:25:29Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* How to access the database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=General Information=&lt;br /&gt;
&lt;br /&gt;
The UvA-BiTS database is a spatial postgreSQL database([http://www.postgresql.org/]). In order to access the database you must first have a user name and password provided to you by SURF.&lt;br /&gt;
&lt;br /&gt;
=How to access the database=&lt;br /&gt;
'''Through the web portal'''&lt;br /&gt;
&lt;br /&gt;
The Phgpadmin database is no longer active so you will need to access the database either through an ODBC connection (see below) or by using a new web portal by following these instructions:&lt;br /&gt;
&lt;br /&gt;
1. Go to pgadmin.e-ecology.nl and log in with your e-Ecology credentials&lt;br /&gt;
&lt;br /&gt;
2. Click on &amp;quot;Add New Server”&lt;br /&gt;
&lt;br /&gt;
3. In &amp;quot;General&amp;quot; tab fill out the fields as following: &lt;br /&gt;
     Name: UvA-BiTS&lt;br /&gt;
&lt;br /&gt;
4. In the &amp;quot;Connection&amp;quot; tab fill out the fields as following:&lt;br /&gt;
     Host name / address: pub.e-ecology.nl&lt;br /&gt;
     Port: 5432&lt;br /&gt;
     Maintenance DB: eecology&lt;br /&gt;
 &lt;br /&gt;
5. Fill in your username and password in the “Connection&amp;quot; tab&lt;br /&gt;
 &lt;br /&gt;
6. Press “Save&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Connecting via other programs:''' &lt;br /&gt;
You can also connect to the database via other programs (Access, R, etc.) by setting up an ODBC driver for postgreSQL and establishing a &amp;quot;User Data Source&amp;quot;. (See &amp;quot;Setting Up an ODBC Connection&amp;quot; below.)&lt;br /&gt;
&lt;br /&gt;
'''Now that I have connected, what do all these tables and views really mean?''' See the UvA-BiTS Data Model page of this wiki.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Windows) =&lt;br /&gt;
&lt;br /&gt;
ODBC (Open Database connectivity) is a standard method of sharing data between databases and other programs. ODBC drivers use SQL to gain access to data from sources outside the program.  Therefore, in order to connect between your database and other programs you must set up an ODBC connection.&lt;br /&gt;
  &lt;br /&gt;
Step 1: Download and install the most recent ODBC driver for postgreSQL.&lt;br /&gt;
[http://www.postgresql.org/ftp/odbc/versions/msi/]&lt;br /&gt;
&lt;br /&gt;
Step 2: Set up an ODBC connection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do the following (variations may exist between windows operating systems):&lt;br /&gt;
# Go to '''start | Control panel | Administrative tools | Data sources (ODBC)'''. If you are having trouble finding it, type &amp;quot;ODBC&amp;quot; into the Search box at the top of the Control Panel window.&lt;br /&gt;
# Go to '''User DSN''' (first tab in Data sources).&lt;br /&gt;
# Click '''ADD'''.&lt;br /&gt;
# In the window '''Create''' '''New Data Source''' select '''PostgreSQL ANSI''' and click '''FINISH'''.&lt;br /&gt;
# The '''ODBC Driver Setup''' window opens. '''Data source name''': give your data source a name (e.g. GPS).  Keep it simple and easily identifiable since this is the name you will use to identify your database from other applications; this will be the '''ODBC driver name'''.&lt;br /&gt;
# In the same window, fill in the following information: '''database''' ''eecology'', '''Server'''  ''pub.e-ecology.nl'', '''User Name''' ''your user name'', '''SSL Mode''' ''require'', '''Port''' ''5432'', '''Password''' ''your password''. Click '''TEST''' to test your connection. When the window is completed click '''SAVE'''.&lt;br /&gt;
# Back in the '''User DSN''' window you should now see the ODBC driver you just named. Click '''OK'''.&lt;br /&gt;
After completing these steps many other programs will now recognize your database and be able to communicate with it. &lt;br /&gt;
&lt;br /&gt;
If you are having problems setting up the connection, go back to Step 1 above and make sure that you have installed the most recent version of the PostgreSQL ODBC driver.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (MacOSX 10.8.5 ) =&lt;br /&gt;
&lt;br /&gt;
The PostgreSQL ODBC driver provided here is a 64-bit driver. It will probably only work if the other components involved in accessing the UvA-BiTS database are also 64-bit. This includes R, iODBC, and libpq. It has been tested on MacOSX 10.8.5 (Mountain Lion) with 64-bit R 3.0.2 (Frisbee Sailing). If you have an older version of MacOSX, and/or a 32-bit version of R installed, this driver may or may not work for you. There's no harm in trying. If it does not work, and you have a 32-bit version of R installed, try using the 64-bit version instead (this will allow R to use more memory as well, possibly speeding up your calculations). &lt;br /&gt;
&lt;br /&gt;
1. Download the ODBC Administrator Tool for Mac OS X v1.0 using the following URL http://support.apple.com/kb/DL895&lt;br /&gt;
&lt;br /&gt;
2. Download the zip file found here [http://horizon.science.uva.nl/public/pgodbc_macosx/]. Unpack the .zip file into your home directory by double clicking it. Your home directory will usually have your name and is located in Macintosh HD &amp;gt; Users next to the little symbol of a house. This will create a folder called &amp;quot;pgodbc&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
3. Open the iODBC Administator.app from within Applications.&lt;br /&gt;
&lt;br /&gt;
4. Select the tab &amp;quot;ODBC Drivers&amp;quot; and click on &amp;quot;Add a driver&amp;quot;. A new window will open.&lt;br /&gt;
&lt;br /&gt;
5. The first field is &amp;quot;Description of the driver&amp;quot;. Type in &amp;quot;PostgreSQL&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. Click on &amp;quot;Browse&amp;quot; next to the second field to locate and select the driver file you unpacked from the .zip file you downloaded.&lt;br /&gt;
&lt;br /&gt;
7. Go to folder &amp;quot;pgodbc&amp;quot; in your home directory, and select the driver file &amp;quot;psqlodbcw.so&amp;quot;&lt;br /&gt;
&lt;br /&gt;
8. Make sure the driver is defined as &amp;quot;System&amp;quot;, i.e., that the &amp;quot;System&amp;quot; option is selected and not the &amp;quot;User&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
9. Click on &amp;quot;Add&amp;quot; at the bottom of this window, and &amp;quot;OK&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should now be able to access the database through R using the R script provided.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Linux) =&lt;br /&gt;
&lt;br /&gt;
1. Install unixODBC and its -dev file&lt;br /&gt;
$ sudo apt-get install unixODBC unixODBC-dev&lt;br /&gt;
&lt;br /&gt;
2. Install the postgresql package&lt;br /&gt;
&lt;br /&gt;
  $ sudo apt-get install odbc-postgresql&lt;br /&gt;
&lt;br /&gt;
3. Configure the PostgreSQL ODBC driver in the /etc/odbcinst.ini file&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbcinst.ini&lt;br /&gt;
&lt;br /&gt;
4. On Ubuntu, the /etc/odbcinst.ini file will be blank, so you’ll need to add the data to that configuration file. Add the following to the odbcinst.ini file:&lt;br /&gt;
&lt;br /&gt;
  [PostgreSQL]&lt;br /&gt;
  Description = ODBC for PostgreSQL&lt;br /&gt;
  Driver = /usr/lib/odbc/psqlodbca.so&lt;br /&gt;
  Setup = /usr/lib/odbc/libodbcpsqlS.so&lt;br /&gt;
  FileUsage = 1&lt;br /&gt;
'''Be careful,''' on x64, the path for the driver and setup should look&lt;br /&gt;
something like that /usr/lib/x86_64-linux-gnu/odbc/ (use the command $&lt;br /&gt;
mlocate psql to find the appropriate path...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Verify that the system is able to see the driver by running the&lt;br /&gt;
following command. It should return the label name [PostgreSQL] if all is&lt;br /&gt;
well:&lt;br /&gt;
&lt;br /&gt;
  $ odbcinst -q -d&lt;br /&gt;
&lt;br /&gt;
6. Next, configure the /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
Here is what the text file should look like&lt;br /&gt;
&lt;br /&gt;
  [GPStracker]&lt;br /&gt;
  Driver       = PostgreSQL&lt;br /&gt;
  Description  = PostgreSQL connection to the UvA BiTS DataBase&lt;br /&gt;
  Servername   = pub.e-ecology.nl&lt;br /&gt;
  Port         = 5432&lt;br /&gt;
  UserName     = user_name&lt;br /&gt;
  Password     = yourpassword&lt;br /&gt;
  Database     = eecology&lt;br /&gt;
  SSLMode      = prefer&lt;br /&gt;
  OPTION       = 3&lt;br /&gt;
  SOCKET       =&lt;br /&gt;
&lt;br /&gt;
You should now be able to connect to the database, for example via RODBC.&lt;br /&gt;
&lt;br /&gt;
= Connecting other programs to the UvA-BiTS database (e.g. R, Access, ArcGIS) =&lt;br /&gt;
&lt;br /&gt;
This section provides information on how to set up an Open Database Connectivity (ODBC) which will enable many software packages to extract data directly from the database.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Here you provide the name of the database file or the user DSN name for a given ODBC data source (as described above).&lt;br /&gt;
 &lt;br /&gt;
 db.file &amp;lt;-&amp;quot;GPS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Load the RODBC library.  Visit the CRAN repository &amp;lt;http://cran.r-project.org/web/packages/&amp;gt; for a list of contributed packages and instructions for installation. Packages may be installed using the GUI interface or using ?install.packages.&lt;br /&gt;
&lt;br /&gt;
 library(RODBC)&lt;br /&gt;
&lt;br /&gt;
Establish a connection to the database, the following code is used if reading from an ODBC data source.&lt;br /&gt;
&lt;br /&gt;
 db &amp;lt;- odbcConnect(db.file) &lt;br /&gt;
&lt;br /&gt;
View the table names in the database.&lt;br /&gt;
&lt;br /&gt;
 sqlTables(db)&lt;br /&gt;
&lt;br /&gt;
View the field (column) names of a specific table.&lt;br /&gt;
&lt;br /&gt;
 sqlColumns(db, table.name)&lt;br /&gt;
&lt;br /&gt;
Query the database, returning data from table gps.uva_tracking_speed_limited, for device_info_serial 1 as dataframe &amp;quot;test&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R (mac) ==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Connect to the database in R with the package RODBC, using your username and password.&lt;br /&gt;
Install the RODBC package and any dependencies&lt;br /&gt;
 install.packages(&amp;quot;RODBC&amp;quot;, dep=T)&lt;br /&gt;
 require(RODBC)&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;user&amp;quot; and &amp;quot;password&amp;quot; with your own username and password provided by SURF:&lt;br /&gt;
 my_username &amp;lt;- &amp;quot;user&amp;quot;&lt;br /&gt;
 my_password &amp;lt;- &amp;quot;password&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Define the connection and connect from within R:&lt;br /&gt;
 l.connstring &amp;lt;- 'DRIVER=PostgreSQL;'&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SERVER=pub.e-ecology.nl;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'PORT=5432;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SSLMODE=require;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'DATABASE=eecology;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;USERNAME=&amp;quot;, my_username, &amp;quot;;&amp;quot;, sep=''), sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;PASSWORD=&amp;quot;, my_password, &amp;quot;;&amp;quot;, sep='') , sep = '') &lt;br /&gt;
&lt;br /&gt;
 GPS &amp;lt;- odbcDriverConnect(l.connstring, case = &amp;quot;tolower&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
From here you can write SQL queries and retrieve the data through R. Here is an example.&lt;br /&gt;
&lt;br /&gt;
To extract GPS data, remember to replace &amp;lt;insert bird id&amp;gt; with the device serial number of one of your tracked birds: &lt;br /&gt;
 gps_test &amp;lt;- sqlQuery(GPS, query = &amp;quot;SELECT * &lt;br /&gt;
 FROM gps.ee_tracking_speed_limited s  &lt;br /&gt;
 WHERE s.device_info_serial = &amp;lt;insert bird ID&amp;gt;&amp;quot;, as.is=c(2))&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in Access==&lt;br /&gt;
After completing the steps for setting up an ODBC connection, you can connect to the database via Access. You have two options. One is to import the data; once this is done your database is not automatically updated but does not require a link to the database.&lt;br /&gt;
&lt;br /&gt;
The second option (described below) is to create a dynamic link to the database. (You must be connected to the network.) In this case you are always viewing updated data that is in the actual SURF database. The first set of instructions is for Access 2007-2010, while the second is for the older version of Access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2007-2010'''.&lt;br /&gt;
# Go to '''External data | ODBC Database'''.&lt;br /&gt;
# Select '''Link to the data source by creating a linked table'''. Click OK.&lt;br /&gt;
# In '''Select Data Source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2003'''.&lt;br /&gt;
# Go to '''File | Get external data | Link tables'''.&lt;br /&gt;
# In '''Files of type''', select '''ODBC databases'''.&lt;br /&gt;
# In '''Select data source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You now have access to your selected tables in the database. Have fun.&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1442</id>
		<title>How to access the e-Ecology database</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1442"/>
				<updated>2023-07-20T08:24:23Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* How to access the database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=General Information=&lt;br /&gt;
&lt;br /&gt;
The UvA-BiTS database is a spatial postgreSQL database([http://www.postgresql.org/]). In order to access the database you must first have a user name and password provided to you by SURF.&lt;br /&gt;
&lt;br /&gt;
=How to access the database=&lt;br /&gt;
'''Through the web portal'''&lt;br /&gt;
&lt;br /&gt;
The Phgpadmin database is no longer active so you will need to access the database either through an ODBC connection (see instructions below) or by using a new web portal by following these instructions:&lt;br /&gt;
&lt;br /&gt;
1. Go to pgadmin.e-ecology.nl and log in with your e-Ecology credentials&lt;br /&gt;
&lt;br /&gt;
2. Click on &amp;quot;Add New Server”&lt;br /&gt;
&lt;br /&gt;
3. In &amp;quot;General&amp;quot; tab fill out the fields as following: &lt;br /&gt;
     Name: UvA-BiTS&lt;br /&gt;
&lt;br /&gt;
4. In the &amp;quot;Connection&amp;quot; tab fill out the fields as following:&lt;br /&gt;
     Host name / address: pub.e-ecology.nl&lt;br /&gt;
     Port: 5432&lt;br /&gt;
     Maintenance DB: eecology&lt;br /&gt;
 &lt;br /&gt;
5. Fill in your username and password in the “Connection&amp;quot; tab&lt;br /&gt;
 &lt;br /&gt;
6. Press “Save&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Connecting via other programs:''' &lt;br /&gt;
You can also connect to the database via other programs (Access, R, etc.) by setting up an ODBC driver for postgreSQL and establishing a &amp;quot;User Data Source&amp;quot;. (See &amp;quot;Setting Up an ODBC Connection&amp;quot; below.)&lt;br /&gt;
&lt;br /&gt;
'''Now that I have connected, what do all these tables and views really mean?''' See the UvA-BiTS Data Model page of this wiki.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Windows) =&lt;br /&gt;
&lt;br /&gt;
ODBC (Open Database connectivity) is a standard method of sharing data between databases and other programs. ODBC drivers use SQL to gain access to data from sources outside the program.  Therefore, in order to connect between your database and other programs you must set up an ODBC connection.&lt;br /&gt;
  &lt;br /&gt;
Step 1: Download and install the most recent ODBC driver for postgreSQL.&lt;br /&gt;
[http://www.postgresql.org/ftp/odbc/versions/msi/]&lt;br /&gt;
&lt;br /&gt;
Step 2: Set up an ODBC connection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do the following (variations may exist between windows operating systems):&lt;br /&gt;
# Go to '''start | Control panel | Administrative tools | Data sources (ODBC)'''. If you are having trouble finding it, type &amp;quot;ODBC&amp;quot; into the Search box at the top of the Control Panel window.&lt;br /&gt;
# Go to '''User DSN''' (first tab in Data sources).&lt;br /&gt;
# Click '''ADD'''.&lt;br /&gt;
# In the window '''Create''' '''New Data Source''' select '''PostgreSQL ANSI''' and click '''FINISH'''.&lt;br /&gt;
# The '''ODBC Driver Setup''' window opens. '''Data source name''': give your data source a name (e.g. GPS).  Keep it simple and easily identifiable since this is the name you will use to identify your database from other applications; this will be the '''ODBC driver name'''.&lt;br /&gt;
# In the same window, fill in the following information: '''database''' ''eecology'', '''Server'''  ''pub.e-ecology.nl'', '''User Name''' ''your user name'', '''SSL Mode''' ''require'', '''Port''' ''5432'', '''Password''' ''your password''. Click '''TEST''' to test your connection. When the window is completed click '''SAVE'''.&lt;br /&gt;
# Back in the '''User DSN''' window you should now see the ODBC driver you just named. Click '''OK'''.&lt;br /&gt;
After completing these steps many other programs will now recognize your database and be able to communicate with it. &lt;br /&gt;
&lt;br /&gt;
If you are having problems setting up the connection, go back to Step 1 above and make sure that you have installed the most recent version of the PostgreSQL ODBC driver.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (MacOSX 10.8.5 ) =&lt;br /&gt;
&lt;br /&gt;
The PostgreSQL ODBC driver provided here is a 64-bit driver. It will probably only work if the other components involved in accessing the UvA-BiTS database are also 64-bit. This includes R, iODBC, and libpq. It has been tested on MacOSX 10.8.5 (Mountain Lion) with 64-bit R 3.0.2 (Frisbee Sailing). If you have an older version of MacOSX, and/or a 32-bit version of R installed, this driver may or may not work for you. There's no harm in trying. If it does not work, and you have a 32-bit version of R installed, try using the 64-bit version instead (this will allow R to use more memory as well, possibly speeding up your calculations). &lt;br /&gt;
&lt;br /&gt;
1. Download the ODBC Administrator Tool for Mac OS X v1.0 using the following URL http://support.apple.com/kb/DL895&lt;br /&gt;
&lt;br /&gt;
2. Download the zip file found here [http://horizon.science.uva.nl/public/pgodbc_macosx/]. Unpack the .zip file into your home directory by double clicking it. Your home directory will usually have your name and is located in Macintosh HD &amp;gt; Users next to the little symbol of a house. This will create a folder called &amp;quot;pgodbc&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
3. Open the iODBC Administator.app from within Applications.&lt;br /&gt;
&lt;br /&gt;
4. Select the tab &amp;quot;ODBC Drivers&amp;quot; and click on &amp;quot;Add a driver&amp;quot;. A new window will open.&lt;br /&gt;
&lt;br /&gt;
5. The first field is &amp;quot;Description of the driver&amp;quot;. Type in &amp;quot;PostgreSQL&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. Click on &amp;quot;Browse&amp;quot; next to the second field to locate and select the driver file you unpacked from the .zip file you downloaded.&lt;br /&gt;
&lt;br /&gt;
7. Go to folder &amp;quot;pgodbc&amp;quot; in your home directory, and select the driver file &amp;quot;psqlodbcw.so&amp;quot;&lt;br /&gt;
&lt;br /&gt;
8. Make sure the driver is defined as &amp;quot;System&amp;quot;, i.e., that the &amp;quot;System&amp;quot; option is selected and not the &amp;quot;User&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
9. Click on &amp;quot;Add&amp;quot; at the bottom of this window, and &amp;quot;OK&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should now be able to access the database through R using the R script provided.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Linux) =&lt;br /&gt;
&lt;br /&gt;
1. Install unixODBC and its -dev file&lt;br /&gt;
$ sudo apt-get install unixODBC unixODBC-dev&lt;br /&gt;
&lt;br /&gt;
2. Install the postgresql package&lt;br /&gt;
&lt;br /&gt;
  $ sudo apt-get install odbc-postgresql&lt;br /&gt;
&lt;br /&gt;
3. Configure the PostgreSQL ODBC driver in the /etc/odbcinst.ini file&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbcinst.ini&lt;br /&gt;
&lt;br /&gt;
4. On Ubuntu, the /etc/odbcinst.ini file will be blank, so you’ll need to add the data to that configuration file. Add the following to the odbcinst.ini file:&lt;br /&gt;
&lt;br /&gt;
  [PostgreSQL]&lt;br /&gt;
  Description = ODBC for PostgreSQL&lt;br /&gt;
  Driver = /usr/lib/odbc/psqlodbca.so&lt;br /&gt;
  Setup = /usr/lib/odbc/libodbcpsqlS.so&lt;br /&gt;
  FileUsage = 1&lt;br /&gt;
'''Be careful,''' on x64, the path for the driver and setup should look&lt;br /&gt;
something like that /usr/lib/x86_64-linux-gnu/odbc/ (use the command $&lt;br /&gt;
mlocate psql to find the appropriate path...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Verify that the system is able to see the driver by running the&lt;br /&gt;
following command. It should return the label name [PostgreSQL] if all is&lt;br /&gt;
well:&lt;br /&gt;
&lt;br /&gt;
  $ odbcinst -q -d&lt;br /&gt;
&lt;br /&gt;
6. Next, configure the /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
Here is what the text file should look like&lt;br /&gt;
&lt;br /&gt;
  [GPStracker]&lt;br /&gt;
  Driver       = PostgreSQL&lt;br /&gt;
  Description  = PostgreSQL connection to the UvA BiTS DataBase&lt;br /&gt;
  Servername   = pub.e-ecology.nl&lt;br /&gt;
  Port         = 5432&lt;br /&gt;
  UserName     = user_name&lt;br /&gt;
  Password     = yourpassword&lt;br /&gt;
  Database     = eecology&lt;br /&gt;
  SSLMode      = prefer&lt;br /&gt;
  OPTION       = 3&lt;br /&gt;
  SOCKET       =&lt;br /&gt;
&lt;br /&gt;
You should now be able to connect to the database, for example via RODBC.&lt;br /&gt;
&lt;br /&gt;
= Connecting other programs to the UvA-BiTS database (e.g. R, Access, ArcGIS) =&lt;br /&gt;
&lt;br /&gt;
This section provides information on how to set up an Open Database Connectivity (ODBC) which will enable many software packages to extract data directly from the database.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Here you provide the name of the database file or the user DSN name for a given ODBC data source (as described above).&lt;br /&gt;
 &lt;br /&gt;
 db.file &amp;lt;-&amp;quot;GPS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Load the RODBC library.  Visit the CRAN repository &amp;lt;http://cran.r-project.org/web/packages/&amp;gt; for a list of contributed packages and instructions for installation. Packages may be installed using the GUI interface or using ?install.packages.&lt;br /&gt;
&lt;br /&gt;
 library(RODBC)&lt;br /&gt;
&lt;br /&gt;
Establish a connection to the database, the following code is used if reading from an ODBC data source.&lt;br /&gt;
&lt;br /&gt;
 db &amp;lt;- odbcConnect(db.file) &lt;br /&gt;
&lt;br /&gt;
View the table names in the database.&lt;br /&gt;
&lt;br /&gt;
 sqlTables(db)&lt;br /&gt;
&lt;br /&gt;
View the field (column) names of a specific table.&lt;br /&gt;
&lt;br /&gt;
 sqlColumns(db, table.name)&lt;br /&gt;
&lt;br /&gt;
Query the database, returning data from table gps.uva_tracking_speed_limited, for device_info_serial 1 as dataframe &amp;quot;test&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R (mac) ==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Connect to the database in R with the package RODBC, using your username and password.&lt;br /&gt;
Install the RODBC package and any dependencies&lt;br /&gt;
 install.packages(&amp;quot;RODBC&amp;quot;, dep=T)&lt;br /&gt;
 require(RODBC)&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;user&amp;quot; and &amp;quot;password&amp;quot; with your own username and password provided by SURF:&lt;br /&gt;
 my_username &amp;lt;- &amp;quot;user&amp;quot;&lt;br /&gt;
 my_password &amp;lt;- &amp;quot;password&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Define the connection and connect from within R:&lt;br /&gt;
 l.connstring &amp;lt;- 'DRIVER=PostgreSQL;'&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SERVER=pub.e-ecology.nl;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'PORT=5432;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SSLMODE=require;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'DATABASE=eecology;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;USERNAME=&amp;quot;, my_username, &amp;quot;;&amp;quot;, sep=''), sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;PASSWORD=&amp;quot;, my_password, &amp;quot;;&amp;quot;, sep='') , sep = '') &lt;br /&gt;
&lt;br /&gt;
 GPS &amp;lt;- odbcDriverConnect(l.connstring, case = &amp;quot;tolower&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
From here you can write SQL queries and retrieve the data through R. Here is an example.&lt;br /&gt;
&lt;br /&gt;
To extract GPS data, remember to replace &amp;lt;insert bird id&amp;gt; with the device serial number of one of your tracked birds: &lt;br /&gt;
 gps_test &amp;lt;- sqlQuery(GPS, query = &amp;quot;SELECT * &lt;br /&gt;
 FROM gps.ee_tracking_speed_limited s  &lt;br /&gt;
 WHERE s.device_info_serial = &amp;lt;insert bird ID&amp;gt;&amp;quot;, as.is=c(2))&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in Access==&lt;br /&gt;
After completing the steps for setting up an ODBC connection, you can connect to the database via Access. You have two options. One is to import the data; once this is done your database is not automatically updated but does not require a link to the database.&lt;br /&gt;
&lt;br /&gt;
The second option (described below) is to create a dynamic link to the database. (You must be connected to the network.) In this case you are always viewing updated data that is in the actual SURF database. The first set of instructions is for Access 2007-2010, while the second is for the older version of Access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2007-2010'''.&lt;br /&gt;
# Go to '''External data | ODBC Database'''.&lt;br /&gt;
# Select '''Link to the data source by creating a linked table'''. Click OK.&lt;br /&gt;
# In '''Select Data Source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2003'''.&lt;br /&gt;
# Go to '''File | Get external data | Link tables'''.&lt;br /&gt;
# In '''Files of type''', select '''ODBC databases'''.&lt;br /&gt;
# In '''Select data source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You now have access to your selected tables in the database. Have fun.&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1441</id>
		<title>How to access the e-Ecology database</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1441"/>
				<updated>2023-07-20T08:22:14Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* How to access the database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=General Information=&lt;br /&gt;
&lt;br /&gt;
The UvA-BiTS database is a spatial postgreSQL database([http://www.postgresql.org/]). In order to access the database you must first have a user name and password provided to you by SURF.&lt;br /&gt;
&lt;br /&gt;
=How to access the database=&lt;br /&gt;
'''Through the web portal'''&lt;br /&gt;
&lt;br /&gt;
1. Go to pgadmin.e-ecology.nl and log in with your e-Ecology credentials&lt;br /&gt;
&lt;br /&gt;
2. Click on &amp;quot;Add New Server”&lt;br /&gt;
&lt;br /&gt;
3. In &amp;quot;General&amp;quot; tab fill out the fields as following: &lt;br /&gt;
     Name: UvA-BiTS&lt;br /&gt;
&lt;br /&gt;
4. In the &amp;quot;Connection&amp;quot; tab fill out the fields as following:&lt;br /&gt;
     Host name / address: pub.e-ecology.nl&lt;br /&gt;
     Port: 5432&lt;br /&gt;
     Maintenance DB: eecology&lt;br /&gt;
 &lt;br /&gt;
5. Fill in your username and password in the “Connection&amp;quot; tab&lt;br /&gt;
 &lt;br /&gt;
6. Press “Save&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Connecting via other programs:''' &lt;br /&gt;
You can also connect to the database via other programs (Access, R, etc.) by setting up an ODBC driver for postgreSQL and establishing a &amp;quot;User Data Source&amp;quot;. (See &amp;quot;Setting Up an ODBC Connection&amp;quot; below.)&lt;br /&gt;
&lt;br /&gt;
'''Now that I have connected, what do all these tables and views really mean?''' See the UvA-BiTS Data Model page of this wiki.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Windows) =&lt;br /&gt;
&lt;br /&gt;
ODBC (Open Database connectivity) is a standard method of sharing data between databases and other programs. ODBC drivers use SQL to gain access to data from sources outside the program.  Therefore, in order to connect between your database and other programs you must set up an ODBC connection.&lt;br /&gt;
  &lt;br /&gt;
Step 1: Download and install the most recent ODBC driver for postgreSQL.&lt;br /&gt;
[http://www.postgresql.org/ftp/odbc/versions/msi/]&lt;br /&gt;
&lt;br /&gt;
Step 2: Set up an ODBC connection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do the following (variations may exist between windows operating systems):&lt;br /&gt;
# Go to '''start | Control panel | Administrative tools | Data sources (ODBC)'''. If you are having trouble finding it, type &amp;quot;ODBC&amp;quot; into the Search box at the top of the Control Panel window.&lt;br /&gt;
# Go to '''User DSN''' (first tab in Data sources).&lt;br /&gt;
# Click '''ADD'''.&lt;br /&gt;
# In the window '''Create''' '''New Data Source''' select '''PostgreSQL ANSI''' and click '''FINISH'''.&lt;br /&gt;
# The '''ODBC Driver Setup''' window opens. '''Data source name''': give your data source a name (e.g. GPS).  Keep it simple and easily identifiable since this is the name you will use to identify your database from other applications; this will be the '''ODBC driver name'''.&lt;br /&gt;
# In the same window, fill in the following information: '''database''' ''eecology'', '''Server'''  ''pub.e-ecology.nl'', '''User Name''' ''your user name'', '''SSL Mode''' ''require'', '''Port''' ''5432'', '''Password''' ''your password''. Click '''TEST''' to test your connection. When the window is completed click '''SAVE'''.&lt;br /&gt;
# Back in the '''User DSN''' window you should now see the ODBC driver you just named. Click '''OK'''.&lt;br /&gt;
After completing these steps many other programs will now recognize your database and be able to communicate with it. &lt;br /&gt;
&lt;br /&gt;
If you are having problems setting up the connection, go back to Step 1 above and make sure that you have installed the most recent version of the PostgreSQL ODBC driver.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (MacOSX 10.8.5 ) =&lt;br /&gt;
&lt;br /&gt;
The PostgreSQL ODBC driver provided here is a 64-bit driver. It will probably only work if the other components involved in accessing the UvA-BiTS database are also 64-bit. This includes R, iODBC, and libpq. It has been tested on MacOSX 10.8.5 (Mountain Lion) with 64-bit R 3.0.2 (Frisbee Sailing). If you have an older version of MacOSX, and/or a 32-bit version of R installed, this driver may or may not work for you. There's no harm in trying. If it does not work, and you have a 32-bit version of R installed, try using the 64-bit version instead (this will allow R to use more memory as well, possibly speeding up your calculations). &lt;br /&gt;
&lt;br /&gt;
1. Download the ODBC Administrator Tool for Mac OS X v1.0 using the following URL http://support.apple.com/kb/DL895&lt;br /&gt;
&lt;br /&gt;
2. Download the zip file found here [http://horizon.science.uva.nl/public/pgodbc_macosx/]. Unpack the .zip file into your home directory by double clicking it. Your home directory will usually have your name and is located in Macintosh HD &amp;gt; Users next to the little symbol of a house. This will create a folder called &amp;quot;pgodbc&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
3. Open the iODBC Administator.app from within Applications.&lt;br /&gt;
&lt;br /&gt;
4. Select the tab &amp;quot;ODBC Drivers&amp;quot; and click on &amp;quot;Add a driver&amp;quot;. A new window will open.&lt;br /&gt;
&lt;br /&gt;
5. The first field is &amp;quot;Description of the driver&amp;quot;. Type in &amp;quot;PostgreSQL&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. Click on &amp;quot;Browse&amp;quot; next to the second field to locate and select the driver file you unpacked from the .zip file you downloaded.&lt;br /&gt;
&lt;br /&gt;
7. Go to folder &amp;quot;pgodbc&amp;quot; in your home directory, and select the driver file &amp;quot;psqlodbcw.so&amp;quot;&lt;br /&gt;
&lt;br /&gt;
8. Make sure the driver is defined as &amp;quot;System&amp;quot;, i.e., that the &amp;quot;System&amp;quot; option is selected and not the &amp;quot;User&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
9. Click on &amp;quot;Add&amp;quot; at the bottom of this window, and &amp;quot;OK&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should now be able to access the database through R using the R script provided.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Linux) =&lt;br /&gt;
&lt;br /&gt;
1. Install unixODBC and its -dev file&lt;br /&gt;
$ sudo apt-get install unixODBC unixODBC-dev&lt;br /&gt;
&lt;br /&gt;
2. Install the postgresql package&lt;br /&gt;
&lt;br /&gt;
  $ sudo apt-get install odbc-postgresql&lt;br /&gt;
&lt;br /&gt;
3. Configure the PostgreSQL ODBC driver in the /etc/odbcinst.ini file&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbcinst.ini&lt;br /&gt;
&lt;br /&gt;
4. On Ubuntu, the /etc/odbcinst.ini file will be blank, so you’ll need to add the data to that configuration file. Add the following to the odbcinst.ini file:&lt;br /&gt;
&lt;br /&gt;
  [PostgreSQL]&lt;br /&gt;
  Description = ODBC for PostgreSQL&lt;br /&gt;
  Driver = /usr/lib/odbc/psqlodbca.so&lt;br /&gt;
  Setup = /usr/lib/odbc/libodbcpsqlS.so&lt;br /&gt;
  FileUsage = 1&lt;br /&gt;
'''Be careful,''' on x64, the path for the driver and setup should look&lt;br /&gt;
something like that /usr/lib/x86_64-linux-gnu/odbc/ (use the command $&lt;br /&gt;
mlocate psql to find the appropriate path...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Verify that the system is able to see the driver by running the&lt;br /&gt;
following command. It should return the label name [PostgreSQL] if all is&lt;br /&gt;
well:&lt;br /&gt;
&lt;br /&gt;
  $ odbcinst -q -d&lt;br /&gt;
&lt;br /&gt;
6. Next, configure the /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
Here is what the text file should look like&lt;br /&gt;
&lt;br /&gt;
  [GPStracker]&lt;br /&gt;
  Driver       = PostgreSQL&lt;br /&gt;
  Description  = PostgreSQL connection to the UvA BiTS DataBase&lt;br /&gt;
  Servername   = pub.e-ecology.nl&lt;br /&gt;
  Port         = 5432&lt;br /&gt;
  UserName     = user_name&lt;br /&gt;
  Password     = yourpassword&lt;br /&gt;
  Database     = eecology&lt;br /&gt;
  SSLMode      = prefer&lt;br /&gt;
  OPTION       = 3&lt;br /&gt;
  SOCKET       =&lt;br /&gt;
&lt;br /&gt;
You should now be able to connect to the database, for example via RODBC.&lt;br /&gt;
&lt;br /&gt;
= Connecting other programs to the UvA-BiTS database (e.g. R, Access, ArcGIS) =&lt;br /&gt;
&lt;br /&gt;
This section provides information on how to set up an Open Database Connectivity (ODBC) which will enable many software packages to extract data directly from the database.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Here you provide the name of the database file or the user DSN name for a given ODBC data source (as described above).&lt;br /&gt;
 &lt;br /&gt;
 db.file &amp;lt;-&amp;quot;GPS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Load the RODBC library.  Visit the CRAN repository &amp;lt;http://cran.r-project.org/web/packages/&amp;gt; for a list of contributed packages and instructions for installation. Packages may be installed using the GUI interface or using ?install.packages.&lt;br /&gt;
&lt;br /&gt;
 library(RODBC)&lt;br /&gt;
&lt;br /&gt;
Establish a connection to the database, the following code is used if reading from an ODBC data source.&lt;br /&gt;
&lt;br /&gt;
 db &amp;lt;- odbcConnect(db.file) &lt;br /&gt;
&lt;br /&gt;
View the table names in the database.&lt;br /&gt;
&lt;br /&gt;
 sqlTables(db)&lt;br /&gt;
&lt;br /&gt;
View the field (column) names of a specific table.&lt;br /&gt;
&lt;br /&gt;
 sqlColumns(db, table.name)&lt;br /&gt;
&lt;br /&gt;
Query the database, returning data from table gps.uva_tracking_speed_limited, for device_info_serial 1 as dataframe &amp;quot;test&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R (mac) ==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Connect to the database in R with the package RODBC, using your username and password.&lt;br /&gt;
Install the RODBC package and any dependencies&lt;br /&gt;
 install.packages(&amp;quot;RODBC&amp;quot;, dep=T)&lt;br /&gt;
 require(RODBC)&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;user&amp;quot; and &amp;quot;password&amp;quot; with your own username and password provided by SURF:&lt;br /&gt;
 my_username &amp;lt;- &amp;quot;user&amp;quot;&lt;br /&gt;
 my_password &amp;lt;- &amp;quot;password&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Define the connection and connect from within R:&lt;br /&gt;
 l.connstring &amp;lt;- 'DRIVER=PostgreSQL;'&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SERVER=pub.e-ecology.nl;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'PORT=5432;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SSLMODE=require;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'DATABASE=eecology;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;USERNAME=&amp;quot;, my_username, &amp;quot;;&amp;quot;, sep=''), sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;PASSWORD=&amp;quot;, my_password, &amp;quot;;&amp;quot;, sep='') , sep = '') &lt;br /&gt;
&lt;br /&gt;
 GPS &amp;lt;- odbcDriverConnect(l.connstring, case = &amp;quot;tolower&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
From here you can write SQL queries and retrieve the data through R. Here is an example.&lt;br /&gt;
&lt;br /&gt;
To extract GPS data, remember to replace &amp;lt;insert bird id&amp;gt; with the device serial number of one of your tracked birds: &lt;br /&gt;
 gps_test &amp;lt;- sqlQuery(GPS, query = &amp;quot;SELECT * &lt;br /&gt;
 FROM gps.ee_tracking_speed_limited s  &lt;br /&gt;
 WHERE s.device_info_serial = &amp;lt;insert bird ID&amp;gt;&amp;quot;, as.is=c(2))&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in Access==&lt;br /&gt;
After completing the steps for setting up an ODBC connection, you can connect to the database via Access. You have two options. One is to import the data; once this is done your database is not automatically updated but does not require a link to the database.&lt;br /&gt;
&lt;br /&gt;
The second option (described below) is to create a dynamic link to the database. (You must be connected to the network.) In this case you are always viewing updated data that is in the actual SURF database. The first set of instructions is for Access 2007-2010, while the second is for the older version of Access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2007-2010'''.&lt;br /&gt;
# Go to '''External data | ODBC Database'''.&lt;br /&gt;
# Select '''Link to the data source by creating a linked table'''. Click OK.&lt;br /&gt;
# In '''Select Data Source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2003'''.&lt;br /&gt;
# Go to '''File | Get external data | Link tables'''.&lt;br /&gt;
# In '''Files of type''', select '''ODBC databases'''.&lt;br /&gt;
# In '''Select data source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You now have access to your selected tables in the database. Have fun.&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1440</id>
		<title>How to access the e-Ecology database</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1440"/>
				<updated>2023-07-20T08:16:10Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* How to access the database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=General Information=&lt;br /&gt;
&lt;br /&gt;
The UvA-BiTS database is a spatial postgreSQL database([http://www.postgresql.org/]). In order to access the database you must first have a user name and password provided to you by SURF.&lt;br /&gt;
&lt;br /&gt;
=How to access the database=&lt;br /&gt;
'''Through the web portal'''&lt;br /&gt;
&lt;br /&gt;
1. Go to pgadmin.e-ecology.nl and log in with your e-Ecology credentials&lt;br /&gt;
2. Click on &amp;quot;Add New Server”&lt;br /&gt;
3. In &amp;quot;General&amp;quot; tab fill out the fields as following:&lt;br /&gt;
     Name: UvA-BiTS&lt;br /&gt;
4. In the &amp;quot;Connection&amp;quot; tab fill out the fields as following:&lt;br /&gt;
     Host name / address: pub.e-ecology.nl&lt;br /&gt;
     Port: 5432&lt;br /&gt;
     Maintenance DB: eecology &lt;br /&gt;
5. Fill in your username and password in the “Connection&amp;quot; tab &lt;br /&gt;
6. Press “Save&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Connecting via other programs:''' &lt;br /&gt;
You can also connect to the database via other programs (Access, R, etc.) by setting up an ODBC driver for postgreSQL and establishing a &amp;quot;User Data Source&amp;quot;. (See &amp;quot;Setting Up an ODBC Connection&amp;quot; below.)&lt;br /&gt;
&lt;br /&gt;
'''Now that I have connected, what do all these tables and views really mean?''' See the UvA-BiTS Data Model page of this wiki.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Windows) =&lt;br /&gt;
&lt;br /&gt;
ODBC (Open Database connectivity) is a standard method of sharing data between databases and other programs. ODBC drivers use SQL to gain access to data from sources outside the program.  Therefore, in order to connect between your database and other programs you must set up an ODBC connection.&lt;br /&gt;
  &lt;br /&gt;
Step 1: Download and install the most recent ODBC driver for postgreSQL.&lt;br /&gt;
[http://www.postgresql.org/ftp/odbc/versions/msi/]&lt;br /&gt;
&lt;br /&gt;
Step 2: Set up an ODBC connection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do the following (variations may exist between windows operating systems):&lt;br /&gt;
# Go to '''start | Control panel | Administrative tools | Data sources (ODBC)'''. If you are having trouble finding it, type &amp;quot;ODBC&amp;quot; into the Search box at the top of the Control Panel window.&lt;br /&gt;
# Go to '''User DSN''' (first tab in Data sources).&lt;br /&gt;
# Click '''ADD'''.&lt;br /&gt;
# In the window '''Create''' '''New Data Source''' select '''PostgreSQL ANSI''' and click '''FINISH'''.&lt;br /&gt;
# The '''ODBC Driver Setup''' window opens. '''Data source name''': give your data source a name (e.g. GPS).  Keep it simple and easily identifiable since this is the name you will use to identify your database from other applications; this will be the '''ODBC driver name'''.&lt;br /&gt;
# In the same window, fill in the following information: '''database''' ''eecology'', '''Server'''  ''pub.e-ecology.nl'', '''User Name''' ''your user name'', '''SSL Mode''' ''require'', '''Port''' ''5432'', '''Password''' ''your password''. Click '''TEST''' to test your connection. When the window is completed click '''SAVE'''.&lt;br /&gt;
# Back in the '''User DSN''' window you should now see the ODBC driver you just named. Click '''OK'''.&lt;br /&gt;
After completing these steps many other programs will now recognize your database and be able to communicate with it. &lt;br /&gt;
&lt;br /&gt;
If you are having problems setting up the connection, go back to Step 1 above and make sure that you have installed the most recent version of the PostgreSQL ODBC driver.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (MacOSX 10.8.5 ) =&lt;br /&gt;
&lt;br /&gt;
The PostgreSQL ODBC driver provided here is a 64-bit driver. It will probably only work if the other components involved in accessing the UvA-BiTS database are also 64-bit. This includes R, iODBC, and libpq. It has been tested on MacOSX 10.8.5 (Mountain Lion) with 64-bit R 3.0.2 (Frisbee Sailing). If you have an older version of MacOSX, and/or a 32-bit version of R installed, this driver may or may not work for you. There's no harm in trying. If it does not work, and you have a 32-bit version of R installed, try using the 64-bit version instead (this will allow R to use more memory as well, possibly speeding up your calculations). &lt;br /&gt;
&lt;br /&gt;
1. Download the ODBC Administrator Tool for Mac OS X v1.0 using the following URL http://support.apple.com/kb/DL895&lt;br /&gt;
&lt;br /&gt;
2. Download the zip file found here [http://horizon.science.uva.nl/public/pgodbc_macosx/]. Unpack the .zip file into your home directory by double clicking it. Your home directory will usually have your name and is located in Macintosh HD &amp;gt; Users next to the little symbol of a house. This will create a folder called &amp;quot;pgodbc&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
3. Open the iODBC Administator.app from within Applications.&lt;br /&gt;
&lt;br /&gt;
4. Select the tab &amp;quot;ODBC Drivers&amp;quot; and click on &amp;quot;Add a driver&amp;quot;. A new window will open.&lt;br /&gt;
&lt;br /&gt;
5. The first field is &amp;quot;Description of the driver&amp;quot;. Type in &amp;quot;PostgreSQL&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. Click on &amp;quot;Browse&amp;quot; next to the second field to locate and select the driver file you unpacked from the .zip file you downloaded.&lt;br /&gt;
&lt;br /&gt;
7. Go to folder &amp;quot;pgodbc&amp;quot; in your home directory, and select the driver file &amp;quot;psqlodbcw.so&amp;quot;&lt;br /&gt;
&lt;br /&gt;
8. Make sure the driver is defined as &amp;quot;System&amp;quot;, i.e., that the &amp;quot;System&amp;quot; option is selected and not the &amp;quot;User&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
9. Click on &amp;quot;Add&amp;quot; at the bottom of this window, and &amp;quot;OK&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should now be able to access the database through R using the R script provided.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Linux) =&lt;br /&gt;
&lt;br /&gt;
1. Install unixODBC and its -dev file&lt;br /&gt;
$ sudo apt-get install unixODBC unixODBC-dev&lt;br /&gt;
&lt;br /&gt;
2. Install the postgresql package&lt;br /&gt;
&lt;br /&gt;
  $ sudo apt-get install odbc-postgresql&lt;br /&gt;
&lt;br /&gt;
3. Configure the PostgreSQL ODBC driver in the /etc/odbcinst.ini file&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbcinst.ini&lt;br /&gt;
&lt;br /&gt;
4. On Ubuntu, the /etc/odbcinst.ini file will be blank, so you’ll need to add the data to that configuration file. Add the following to the odbcinst.ini file:&lt;br /&gt;
&lt;br /&gt;
  [PostgreSQL]&lt;br /&gt;
  Description = ODBC for PostgreSQL&lt;br /&gt;
  Driver = /usr/lib/odbc/psqlodbca.so&lt;br /&gt;
  Setup = /usr/lib/odbc/libodbcpsqlS.so&lt;br /&gt;
  FileUsage = 1&lt;br /&gt;
'''Be careful,''' on x64, the path for the driver and setup should look&lt;br /&gt;
something like that /usr/lib/x86_64-linux-gnu/odbc/ (use the command $&lt;br /&gt;
mlocate psql to find the appropriate path...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Verify that the system is able to see the driver by running the&lt;br /&gt;
following command. It should return the label name [PostgreSQL] if all is&lt;br /&gt;
well:&lt;br /&gt;
&lt;br /&gt;
  $ odbcinst -q -d&lt;br /&gt;
&lt;br /&gt;
6. Next, configure the /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
Here is what the text file should look like&lt;br /&gt;
&lt;br /&gt;
  [GPStracker]&lt;br /&gt;
  Driver       = PostgreSQL&lt;br /&gt;
  Description  = PostgreSQL connection to the UvA BiTS DataBase&lt;br /&gt;
  Servername   = pub.e-ecology.nl&lt;br /&gt;
  Port         = 5432&lt;br /&gt;
  UserName     = user_name&lt;br /&gt;
  Password     = yourpassword&lt;br /&gt;
  Database     = eecology&lt;br /&gt;
  SSLMode      = prefer&lt;br /&gt;
  OPTION       = 3&lt;br /&gt;
  SOCKET       =&lt;br /&gt;
&lt;br /&gt;
You should now be able to connect to the database, for example via RODBC.&lt;br /&gt;
&lt;br /&gt;
= Connecting other programs to the UvA-BiTS database (e.g. R, Access, ArcGIS) =&lt;br /&gt;
&lt;br /&gt;
This section provides information on how to set up an Open Database Connectivity (ODBC) which will enable many software packages to extract data directly from the database.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Here you provide the name of the database file or the user DSN name for a given ODBC data source (as described above).&lt;br /&gt;
 &lt;br /&gt;
 db.file &amp;lt;-&amp;quot;GPS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Load the RODBC library.  Visit the CRAN repository &amp;lt;http://cran.r-project.org/web/packages/&amp;gt; for a list of contributed packages and instructions for installation. Packages may be installed using the GUI interface or using ?install.packages.&lt;br /&gt;
&lt;br /&gt;
 library(RODBC)&lt;br /&gt;
&lt;br /&gt;
Establish a connection to the database, the following code is used if reading from an ODBC data source.&lt;br /&gt;
&lt;br /&gt;
 db &amp;lt;- odbcConnect(db.file) &lt;br /&gt;
&lt;br /&gt;
View the table names in the database.&lt;br /&gt;
&lt;br /&gt;
 sqlTables(db)&lt;br /&gt;
&lt;br /&gt;
View the field (column) names of a specific table.&lt;br /&gt;
&lt;br /&gt;
 sqlColumns(db, table.name)&lt;br /&gt;
&lt;br /&gt;
Query the database, returning data from table gps.uva_tracking_speed_limited, for device_info_serial 1 as dataframe &amp;quot;test&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R (mac) ==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Connect to the database in R with the package RODBC, using your username and password.&lt;br /&gt;
Install the RODBC package and any dependencies&lt;br /&gt;
 install.packages(&amp;quot;RODBC&amp;quot;, dep=T)&lt;br /&gt;
 require(RODBC)&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;user&amp;quot; and &amp;quot;password&amp;quot; with your own username and password provided by SURF:&lt;br /&gt;
 my_username &amp;lt;- &amp;quot;user&amp;quot;&lt;br /&gt;
 my_password &amp;lt;- &amp;quot;password&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Define the connection and connect from within R:&lt;br /&gt;
 l.connstring &amp;lt;- 'DRIVER=PostgreSQL;'&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SERVER=pub.e-ecology.nl;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'PORT=5432;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SSLMODE=require;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'DATABASE=eecology;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;USERNAME=&amp;quot;, my_username, &amp;quot;;&amp;quot;, sep=''), sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;PASSWORD=&amp;quot;, my_password, &amp;quot;;&amp;quot;, sep='') , sep = '') &lt;br /&gt;
&lt;br /&gt;
 GPS &amp;lt;- odbcDriverConnect(l.connstring, case = &amp;quot;tolower&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
From here you can write SQL queries and retrieve the data through R. Here is an example.&lt;br /&gt;
&lt;br /&gt;
To extract GPS data, remember to replace &amp;lt;insert bird id&amp;gt; with the device serial number of one of your tracked birds: &lt;br /&gt;
 gps_test &amp;lt;- sqlQuery(GPS, query = &amp;quot;SELECT * &lt;br /&gt;
 FROM gps.ee_tracking_speed_limited s  &lt;br /&gt;
 WHERE s.device_info_serial = &amp;lt;insert bird ID&amp;gt;&amp;quot;, as.is=c(2))&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in Access==&lt;br /&gt;
After completing the steps for setting up an ODBC connection, you can connect to the database via Access. You have two options. One is to import the data; once this is done your database is not automatically updated but does not require a link to the database.&lt;br /&gt;
&lt;br /&gt;
The second option (described below) is to create a dynamic link to the database. (You must be connected to the network.) In this case you are always viewing updated data that is in the actual SURF database. The first set of instructions is for Access 2007-2010, while the second is for the older version of Access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2007-2010'''.&lt;br /&gt;
# Go to '''External data | ODBC Database'''.&lt;br /&gt;
# Select '''Link to the data source by creating a linked table'''. Click OK.&lt;br /&gt;
# In '''Select Data Source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2003'''.&lt;br /&gt;
# Go to '''File | Get external data | Link tables'''.&lt;br /&gt;
# In '''Files of type''', select '''ODBC databases'''.&lt;br /&gt;
# In '''Select data source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You now have access to your selected tables in the database. Have fun.&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=E-Ecology_Documentation_and_Guidance&amp;diff=1439</id>
		<title>E-Ecology Documentation and Guidance</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=E-Ecology_Documentation_and_Guidance&amp;diff=1439"/>
				<updated>2021-01-22T09:58:46Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Last updated: February 2018, Stacy Shinneman&lt;br /&gt;
&lt;br /&gt;
The e-Ecology Virtual Laboratories represent a collaborative effort between the University of Amsterdam Institute for Biodiversity and Ecosystem Dynamics and SURF Computing to manage bird tracking data and develop tools for data exploration, analysis and visualization. This wiki is designed to facilitate access to the data and tools within the Virtual Laboratories and to provide a forum for collaboration. &lt;br /&gt;
&lt;br /&gt;
The e-Ecology database contains many different datasets, each of which is contained within its own schema. Prior to 2018, the e-Ecology database was also referred to as the FlySafe database.&lt;br /&gt;
&lt;br /&gt;
== UvA-BiTS Data == &lt;br /&gt;
&lt;br /&gt;
Bird data collected with the UvA-BiTS Bird Tracking System is managed within the gps schema of the e-Ecology database. &lt;br /&gt;
&lt;br /&gt;
Note: We are continually working on improving UvA-BiTS services, including data processing and Virtual Lab functionality. In some cases, this has enabled us to extract more information from old GPS log files which is then incorporated into the database.  These changes may result in slight differences when you reprocess historic data. &lt;br /&gt;
&lt;br /&gt;
::* [[ DB_Views_2015 | e-Ecology UvA-BiTS database for general use (views) ]]&lt;br /&gt;
::* [[ DB_Tables_2015 | e-Ecology UvA-BiTS tables behind the views (not accessible for normal use) ]]&lt;br /&gt;
::* [[How to access the e-Ecology database]]&lt;br /&gt;
::* [[Reference systems for GPS coordinates and altitudes]]&lt;br /&gt;
::* [[Useful Queries]]&lt;br /&gt;
&lt;br /&gt;
==UvA-BiTS Services==&lt;br /&gt;
&lt;br /&gt;
* Visualization Tools&lt;br /&gt;
&lt;br /&gt;
:: [[KMZ Generator|UvA-BiTS KMZ Generator]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::Produces kmz files of UvA-BiTS bird tracking data to be viewed in Google Earth. &lt;br /&gt;
:: [[Tracker Calendar]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::Calendar overview with daily statistics of GPS-tracker&lt;br /&gt;
:: [[Flight Generator]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::This tool produces GPX files from UvA-BiTS tracking data for dynamic [http://www.doarama.com Doarama] visualizations.&lt;br /&gt;
:: [[BirdView]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::'''''This service is currently not available.''''' Access meterological and radar data and overlay with GPS bird tracking data.&lt;br /&gt;
:: [[BirdSim]]:  &amp;lt;br/ &amp;gt;&lt;br /&gt;
:::'''''This service is currently not available.''''' More dynamic version of BirdView that allows the user to scroll through weather data in time and space.&lt;br /&gt;
&lt;br /&gt;
* [[Dashboard]]:   These web pages allow UvA-BiTS users to get an overview of the raw data files of GPS bird tracking devices they have access to and to access the dashboard for administering projects. &lt;br /&gt;
&lt;br /&gt;
* [[ Annotation tables ]] for uploading GPS annotation data into your own schema and sharing your tables with other users. '''''This service is currently not available.'''''&lt;br /&gt;
* [[ SMS tables ]] for storage of SMS messages send by trackers.&lt;br /&gt;
* [[ CartoDB ]] usage and limitation of CartoDB server&lt;br /&gt;
&lt;br /&gt;
== Changes to the UvA-BiTS data model in 2014 ==&lt;br /&gt;
'''Important'''&lt;br /&gt;
In the summer of 2014 we have '''re-arranged the administrative''' part of UvA-BiTS (and e-Ecology) in the database. End users may have to adapt their programs the following way:&lt;br /&gt;
:* The '''uva_*_limited''' views that used to exist in the gps schema are gone. Most of them should have been replaced with an equivalent '''ee_*_limited counterpart'''.&lt;br /&gt;
:* The new ee_*_limited views show a superset of the same information as before, but enhanced with new project information.&lt;br /&gt;
:* Some '''column names''' in the ee_*_limited views may differ from the previous views.&lt;br /&gt;
:* There are new limited views: &lt;br /&gt;
:** gps.ee_'''project'''_limited: shows your projects' information&lt;br /&gt;
:** gps.ee_'''shared'''_*_limited: set of data you are able to see related to trackers that a project is sharing with a project you belong to&lt;br /&gt;
:* Special attention: gps.uva_device_limited is now replaced by '''gps.ee_tracker_limited'''. For each tracker, you now see which project provides you access to that tracker.&lt;br /&gt;
:* Also, '''gps.uva_tracking_limited''' is gone. Instead of that we have gps.ee_tracker_speed_limited, which adds speed columns to the original data. This amounts to a merger of gps.ee_tracking_limited, gps.ee_tracking_speed_3d_limited and gps.ee_tracking_speed_limited.&lt;br /&gt;
:* [[ UvAGPS|UvA-BiTS Data Model]] - OLD&lt;br /&gt;
&lt;br /&gt;
==Other e-Ecology Datasets==&lt;br /&gt;
&lt;br /&gt;
'''ENVIRONMENTAL DATA'''&lt;br /&gt;
&lt;br /&gt;
::* [[ Elevation|Elevation Data ]]&lt;br /&gt;
::* [[ ECMWF|Weather Forecast Data (ECMWF)]] Restricted to FlySafe users.&lt;br /&gt;
&lt;br /&gt;
'''FLYSAFE'''&lt;br /&gt;
&lt;br /&gt;
:Data related to European Space Agency FlySafe project. Financed by the Royal Netherlands Air Force. &lt;br /&gt;
&lt;br /&gt;
::* [[Argos Data Model|Argos GPS Data Model]]&lt;br /&gt;
::* [[ RADAR|Radar Data Model]]&lt;br /&gt;
::* [[ Wind profile|Wind Profile Data Model]]&lt;br /&gt;
::* [[How to access the e-Ecology database]]&lt;br /&gt;
&lt;br /&gt;
==Other e-Ecology Services==&lt;br /&gt;
[[e-Ecology GPS Bird Track Generator]]: Produce kmz files of ARGOS/GPS bird tracking data from the FlySafe project to be viewed in Google Earth. &lt;br /&gt;
&lt;br /&gt;
[[ Administration]]: Information about user rights and data processing tasks.&lt;br /&gt;
&lt;br /&gt;
[[ Bookkeeping]]: Description of tables related to e-Ecology data processing and archiving.&lt;br /&gt;
&lt;br /&gt;
[[ ToDo ]]&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=Reference_systems_for_GPS_coordinates_and_altitudes&amp;diff=1438</id>
		<title>Reference systems for GPS coordinates and altitudes</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=Reference_systems_for_GPS_coordinates_and_altitudes&amp;diff=1438"/>
				<updated>2021-01-22T09:37:49Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;All of our UvA-BiTS GPS trackers use the Ublox Max-6G GPS receiver to collect vertical and horizontal position data. &lt;br /&gt;
&lt;br /&gt;
The GPS unit measures the distance from the satellites to the device and then it calculates the distance relative to the WGS84 ellipsoid (World Geodetic System WGS84). GPS coordinates in the database are calculated relative to the WGS84 datum.&lt;br /&gt;
 &lt;br /&gt;
The altitude measurements provided in the database are altitude above a geoid that approximates global mean sea level rather than altitudes relative to the WGS84 ellipsoid. (A good explanation about the difference between ellipsoids and geoid is available here: [https://www.esri.com/news/arcuser/0703/geoid1of3.html])&lt;br /&gt;
&lt;br /&gt;
Be aware that global mean sea level is not the same as the earth’s surface (i.e. land surface elevation). However, the SRTM-DEM data included in the database as land surface elevation data are also calculated relative to global mean sea level and can therefore be combined directly with UvA-BiTS movement data to calculate the bird’s altitude above land surface elevation. Different GPS tracker manufacturers may provide altitude measurements using different methods and/or reference systems, so use caution when combining GPS data collected with multiple tracking systems.&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=UvA-BiTS_Tracking_Data&amp;diff=1437</id>
		<title>UvA-BiTS Tracking Data</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=UvA-BiTS_Tracking_Data&amp;diff=1437"/>
				<updated>2021-01-22T09:35:49Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* Data processing and filtering */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== UvA-BiTS Tracking Data ==&lt;br /&gt;
&lt;br /&gt;
'''Note:''' These views will show no rows for trackers not yet attached to birds.&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_tracking_speed_limited ===&lt;br /&gt;
&lt;br /&gt;
Shows the tracking data that your projects allow you to see. &lt;br /&gt;
&lt;br /&gt;
Each row represents a GPS fix as it is interpreted from the data that comes via the GPS tracker, plus it adds speeds. See [[Reference systems for GPS coordinates and altitudes]] for further details.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the fix. Part of the unique identifier of the GPS fix.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time when the fix was taken. UTC (i.e.: no timezone). Part of the unique identifier of the GPS fix. &lt;br /&gt;
|-&lt;br /&gt;
|latitude||float8||YES||Latitude of the GPS fix, decimal degrees (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|longitude||float8||YES||Longitude of the GPS fix, decimal degrees (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|altitude||int4||YES||Altitude above sea level measured by GPS tag in meters (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|pressure||int4||YES||Pressure measured by GPS tag sensor in Pascals&lt;br /&gt;
|-&lt;br /&gt;
|temperature||float8||YES||Temperature measured by GPS tag sensor in Celsius&lt;br /&gt;
|-&lt;br /&gt;
|h_accuracy||float8||YES||Horizontal accuracy (meters)&lt;br /&gt;
|-&lt;br /&gt;
|v_accuracy||float8||YES||vertical accuracy (meters)&lt;br /&gt;
|-&lt;br /&gt;
|x_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|y_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|z_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|gps_fixtime||float8||YES||GPS fix time (also known as Time to Fix) in seconds&lt;br /&gt;
|-&lt;br /&gt;
|userflag||int4||YES||Acceptable = 0; Data flagged as unacceptable by user if not equal to 0.&lt;br /&gt;
|-&lt;br /&gt;
|satellites_used||int2||YES||Number of satellites used for fix the GPS measurement&lt;br /&gt;
|-&lt;br /&gt;
|positiondop||float8||YES||Positional DOP (Dilution of Precision), unitless&lt;br /&gt;
|-&lt;br /&gt;
|speed_accuracy||float8||YES||&lt;br /&gt;
|-&lt;br /&gt;
|location||geometry||YES||postgreSQL geometry; to allow GIS operations&lt;br /&gt;
|-&lt;br /&gt;
|vnorth||float8||YES||- vx * sin(lat) * cos(long) - vy * sin(lat) * sin (long) + vz * cos(lat), m/s&lt;br /&gt;
|-&lt;br /&gt;
|veast||float8||YES||- vx * sin(lon) + vy * cos(lon), m/s&lt;br /&gt;
|-&lt;br /&gt;
|vdown||float8||YES||- vx * cos(lat) * cos(lon) - vy * cos(lat) * sin(lon) - vz * sin(lat), m/s&lt;br /&gt;
|-&lt;br /&gt;
|speed||float8||YES||- vx * sin(lon) + vy * cos(lon)&lt;br /&gt;
|-&lt;br /&gt;
|speed_3d||float8||YES|| sqrt(d.x_speed^2 + d.y_speed^2 + d.z_speed^2), m/s&lt;br /&gt;
|-&lt;br /&gt;
|speed_2d||float8||YES|| Speed on 2D, m/s&lt;br /&gt;
|-&lt;br /&gt;
|direction||numeric||YES|| Heading in degrees; 0 is north, 90 is east&lt;br /&gt;
|-&lt;br /&gt;
|altitude_agl||float8||YES|| Reported GPS altitude MINUS terrain elevation on the coordinate based on Digital Elevation Model data used in the e-ecology database (for further information see: [[Elevation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_acceleration_limited ===&lt;br /&gt;
&lt;br /&gt;
Acceleration is measured in blocks of 1-200 measurements (records). The date_time  mentioned in this block is the date and time of the first acceleration measurement. Sequential measurements within a block are numbered with an index 1... (max 200). Every row represents one measurement in 3 directions (X,Y,Z). The order is important within each block, so you should always sort the acceleration measurements by block and index. If you need the exact time for each row, you can calculate it from the index, the sample frequency (which is almost always 20 Hz) and the date_time of the first row in the block.&lt;br /&gt;
&lt;br /&gt;
The date_time of the first block is the time of the GPS measurement preceding the accelerometer measurement. If there is no valid GPS measurement, this time is calculated from the last GPS measurement and the time of the internal clock of the tracker.&lt;br /&gt;
&lt;br /&gt;
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 in gps.ee_tracking_speed_limited for the given tracker, column date_time on gps.ee_acc_start_limited, and all the values on column date_time for that tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This table structure has ''not'' changed with respect to our previous database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the fix. Part of the unique identifier of the GPS fix.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time of the acceleration block that this measurement belongs to (time in UTC, no time zone).&lt;br /&gt;
|-&lt;br /&gt;
|index||int2||NO||Sorting order of the measurement within the acceleration block (each block starts at 0).&lt;br /&gt;
|-&lt;br /&gt;
|x_acceleration||int2||YES||Acceleration measured on the x (or surge) axis (range between -2666 and 2666).&lt;br /&gt;
|-&lt;br /&gt;
|y_acceleration||int2||YES||Acceleration measured on the y (or sway) axis (range between -2666 and 2666).&lt;br /&gt;
|-&lt;br /&gt;
|z_acceleration||int2||YES||Acceleration measured on the z (or heave) axis (range between -2666 and 2666).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_acc_start_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row represents the start of a block of acceleration measurements when a GPS fix is not available at that acceleration block's time. &lt;br /&gt;
&lt;br /&gt;
If there is no valid GPS measurement, this time is calculated from the last GPS measurement and the time of the internal clock of the tracker.&lt;br /&gt;
 &lt;br /&gt;
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 gps.ee_tracking_speed_limited for the given tracker, column date_time on gps.ee_acc_start_limited, 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. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Added in firmware 1.0.2.7.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the acceleration measurement.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time to mark the start of the acceleration block.&lt;br /&gt;
|-&lt;br /&gt;
|line_counter||int4||NO||Number of lines associated with this set of accelerations.&lt;br /&gt;
|-&lt;br /&gt;
|timesynced||int2||YES||The source of the time that marks the acceleration block (0=not synced, 1=user set, 2=Gps Synced).&lt;br /&gt;
|-&lt;br /&gt;
|ascii||int4||YES||Acceleration measurement interval.&lt;br /&gt;
|-&lt;br /&gt;
|accsn||int4||YES||Number of samples (0-65536).&lt;br /&gt;
|-&lt;br /&gt;
|f||int2||YES||Acceleration sampling frequency (0=20Hz, 1=10Hz, 2=5Hz, 3=1Hz).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bird data ==&lt;br /&gt;
=== ''gps.''ee_individual_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows bird's details for all birds that your projects allow you to see.&lt;br /&gt;
&lt;br /&gt;
This view replaces the old gps.uva_individual_limited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||Ring number.&lt;br /&gt;
|-&lt;br /&gt;
|species_latin_name||varchar||NO||Latin name of the species of the bird.&lt;br /&gt;
|-&lt;br /&gt;
|colour_ring||varchar||YES||String for ring colour.&lt;br /&gt;
|-&lt;br /&gt;
|sex||varchar||NO||Sex (M=male, F=female, X=unknown/unspecified)&lt;br /&gt;
|-&lt;br /&gt;
|mass||numeric(5,0)||YES||Mass (grams)&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date when the bird was first tracked with an UvA-BiTS logger.&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the bird is no longer relevant for the tracking project.&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Text for user remarks&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Bird unique id. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_species_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row represents a species that you can assign to your birds to include them in your project. No bird in the system can exist without being linked to one of the species from this list. If you are tagging a bird whose species does not exist in the list, please [http://www.uva-bits.nl/contact/ contact] us.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|abbr||varchar||NO||Unique abbreviation for this species.&lt;br /&gt;
|-&lt;br /&gt;
|english_name||varchar||YES||Name of the species in English. &lt;br /&gt;
|-&lt;br /&gt;
|latin_name||varchar||NO||Name of the species in Latin. It is always filled in.&lt;br /&gt;
|-&lt;br /&gt;
|species_id||int8||NO||Unique id. Added to allow joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_nest_limited ===&lt;br /&gt;
This view shows nests you have access to. A nest is always for a bird with a tracker (so a track session must exist for that bird), and must contain a short name (a reference name for you to use) and a latitude and longitude pair.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|reference_name||varchar||NO||A string with a useful reference for you. We recommend its being unique for each nest in a project, but the system does NOT enforce it.&lt;br /&gt;
|-&lt;br /&gt;
|latitude||numeric||YES||Latitude of the coordinates where the nest was found, decimal degrees (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|longitude||numeric||YES||Longitude of the coordinates where the nest was found, decimal degrees (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|start_date_time||timestamp||NO||When the nest was spotted.&lt;br /&gt;
|-&lt;br /&gt;
|end_date_time||timestamp||NO||When the nest ceases to be relevant.&lt;br /&gt;
|-&lt;br /&gt;
|found_by_whom||varchar||YES||Place to credit people involved in finding the nest.&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Free text.&lt;br /&gt;
|-&lt;br /&gt;
|location||bytearray||YES||Calculated Geometry of the coordinates where the nest was found.&lt;br /&gt;
|-&lt;br /&gt;
|nest_id||int8||NO||Unique id. Added to allow joins to nest_inhabitant_limited.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_nest_inhabitant_limited ===&lt;br /&gt;
This view shows who lives on which nest, for birds you have access to. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|reference_name||varchar||NO||A string belonging to the nest that you can use to identify that nest. Because it is NOT enforced to be unique, DO NOT USE THIS FIELD FOR JOINING.&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||The ring number of a bird on a nest.&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Following the link from a bird to her track sessions, and considering the nest's start and end time, the bird's trackers within that period are resolved so that they can be shown here. This is the device_info_serial of a tracker.&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||Following the link from a bird to her track sessions, and considering the nest's start and end time, the track sessions' projects within that period are resolved so that they can be shown here. This is the key_name of a project.&lt;br /&gt;
|-&lt;br /&gt;
|nest_id||int8||NO||Reference to the nest id. Added to allow joins.&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Reference to the individual id. Added to allow joins.&lt;br /&gt;
|-&lt;br /&gt;
|track_session_id||int8||NO||Reference to a resolved track session id. Added to allow joins.&lt;br /&gt;
|}&lt;br /&gt;
== Tracker and project data ==&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_project_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows the details of each project, for the projects you are allowed to see.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||Unique key name, with the form &amp;lt;species&amp;gt;_&amp;lt;place&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|station_name||varchar||NO||Where the receiving station is&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Project start date&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the project is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|description||text||YES||String for free description. Updatable by the user.&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Project unique id. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|parent_id||int8||YES||Reference to the parent project in the hierarchy.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_tracker_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows tracker details for all trackers that your projects allow you to see.&lt;br /&gt;
&lt;br /&gt;
This view replaces the old gps.uva_device_limited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|firmware_version||varchar||YES||String for firmware version&lt;br /&gt;
|-&lt;br /&gt;
|mass||numeric(4,2)||YES||Mass (in grams)&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date before which the device is not relevant&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the device is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|x_o||numeric(30,6)||YES||Accelerometer calibration: offset on the x (or surge) axis&lt;br /&gt;
|-&lt;br /&gt;
|x_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the x (or surge) axis&lt;br /&gt;
|-&lt;br /&gt;
|y_o||numeric(30,6)||YES||Accelerometer calibration: offset on the y (or sway) axis&lt;br /&gt;
|-&lt;br /&gt;
|y_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the y (or sway) axis&lt;br /&gt;
|-&lt;br /&gt;
|z_o||numeric(30,6)||YES||Accelerometer calibration: offset on the z (or heave) axis&lt;br /&gt;
|-&lt;br /&gt;
|z_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the y (or heave) axis&lt;br /&gt;
|-&lt;br /&gt;
|tracker_id||int8||NO||Tracker unique id. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_track_session_limited ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Each row shows track session's information. There exists a row for each track session that your projects allow you to see. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||The project that the track session belongs to.&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Serial number of the tracker this track session involves.&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||Ring number of the bird that this track session involves.&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date before which the track session is not relevant&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the track session is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Free text for comments&lt;br /&gt;
|-&lt;br /&gt;
|start_latitude||numeric(11,8)||NO||Latitude where the bird was tagged, decimal degrees (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|start_longitude||numeric(11,8)||NO||Longitude where the bird was tagged, decimal degrees (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Reference to the project this track session belongs to. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|tracker_id||int8||NO||Reference to the tracker this track session involves. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Reference to the individual this track session involves. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|track_session_id||int8||NO||Unique identifier of the track session. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Relation to projects ==&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_user_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows a colleague in a project that you belong to, indicating her role and status there.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||Project name&lt;br /&gt;
|-&lt;br /&gt;
|email||varchar||NO||e-mail address&lt;br /&gt;
|-&lt;br /&gt;
|login_name||varchar||NO||Login name&lt;br /&gt;
|-&lt;br /&gt;
|name||varchar||NO||(first) name&lt;br /&gt;
|-&lt;br /&gt;
|surname||varchar||NO||Surname&lt;br /&gt;
|-&lt;br /&gt;
|role||varchar||NO||Role in the project&lt;br /&gt;
|-&lt;br /&gt;
|status||varchar||NO||Status of the membership&lt;br /&gt;
|-&lt;br /&gt;
|user_id||int8||NO||Unique identifier of the user. Included to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_tracker_ownership_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row that you see expresses that a tracker belongs to one of the projects you are involved with. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||The project that the tracker belongs to.&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Serial number of the tracker.&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Reference to the project. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|tracker_id||int8||NO||Reference to the tracker. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_individual_ownership_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row that you see expresses that a bird belongs to one of the projects you are involved with. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||The project that the individual belongs to.&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||Ring number of the bird.&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Reference to the project. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Reference to the individual. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Engineering data ==&lt;br /&gt;
&lt;br /&gt;
'''Note:''' These views will show no rows for trackers not yet attached to birds.&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_comm_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row indicates status and result of communications with ground stations for each tracker that your project allows you to see. &lt;br /&gt;
&lt;br /&gt;
Only for newer firmware (v.1.0.1.4 and higher).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
| device_info_serial || int4 || NO || Serial number of the tracker.&lt;br /&gt;
|-&lt;br /&gt;
| date_time || timestamp || NO || timestamp of start communication&lt;br /&gt;
|-&lt;br /&gt;
| date_time_end || timestamp ||YES|| timestamp of end communication           &lt;br /&gt;
|-&lt;br /&gt;
| date_time_utc || timestamp ||YES|| date_time in utc (if available)&lt;br /&gt;
|-&lt;br /&gt;
| date_time_end_utc || timestamp ||YES|| date_time_end in utc (if available)&lt;br /&gt;
|-&lt;br /&gt;
| action || text||YES|| JOINED / RESCHEDULE  ??&lt;br /&gt;
|-&lt;br /&gt;
| bytes_communicated || int4 ||YES|| Number of bytes communicated (total of all bytes per DATA line)  &lt;br /&gt;
|-&lt;br /&gt;
|status || text ||YES|| READY, TIMEOUT, LOWPOWER, MISSING&lt;br /&gt;
|-&lt;br /&gt;
| network_join_time || int4||YES||milliseconds&lt;br /&gt;
|-&lt;br /&gt;
| number_identical_lines || int4 ||YES|| Number identical lines in data block. Gives indication &lt;br /&gt;
|-&lt;br /&gt;
| non_ascii_char || int4 ||YES|| Number of non ascii characters (indicated by question-mark ?)&lt;br /&gt;
|-&lt;br /&gt;
| sts_time || timestamp ||YES|| derived from S0 hh,mi&lt;br /&gt;
|-&lt;br /&gt;
| timesynced || int2||YES|| TimeSynced (0=not sy:wnced, 1=user set, 2=Gps Synced)&lt;br /&gt;
|-&lt;br /&gt;
|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)&lt;br /&gt;
|-&lt;br /&gt;
| vbat || float8 ||YES|| Battery voltage in V (0-~4.200V) &lt;br /&gt;
|-&lt;br /&gt;
|logb || int4 ||YES|| logged bytes, waiting for download (0-4Mbyte)&lt;br /&gt;
|-&lt;br /&gt;
| logp || int2 ||YES|| Logged percentage (units 0.1%) of memory waiting to be downloaded (0-1000)&lt;br /&gt;
|-&lt;br /&gt;
| gpsii || int4 ||YES|| GpsIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|comii || int4||YES|| ComIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|accii || int4||YES|| AcceleroIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|swddd || int4||YES|| User switches, current (0-65535) &lt;br /&gt;
|-&lt;br /&gt;
|last_gps_fix ||timestamp||YES||timestamp of last fix&lt;br /&gt;
|-&lt;br /&gt;
|latitude||float8||YES||Latitude of last fix. Decimal degrees &lt;br /&gt;
|-&lt;br /&gt;
|longitude||float8||YES||Longitude of last fix. Decimal degrees&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_energy_limited ===&lt;br /&gt;
&lt;br /&gt;
Only for newer firmware.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Date and time of the reported data&lt;br /&gt;
|-&lt;br /&gt;
|timesynced ||int2||YES||TimeSynced (0=not synced, 1=user set, 2=Gps synced)&lt;br /&gt;
|-&lt;br /&gt;
|devicemode ||int2||YES||(0-99)&lt;br /&gt;
|-&lt;br /&gt;
|vsll ||float8||YES||Solar Voltage during charging in mV (0-~2500)&lt;br /&gt;
|-&lt;br /&gt;
|vbat ||float8||YES||Battery Voltage in V (0-~4.200)&lt;br /&gt;
|-&lt;br /&gt;
|ssw ||int2||YES|| Solar Cell Switches ... (0-255) fw1022 and up &lt;br /&gt;
|-&lt;br /&gt;
| ||||YES||extended fields if special user switch is on &lt;br /&gt;
|-&lt;br /&gt;
|vsoo ||float8||YES|| Solar voltage open in V (0-~2.500)&lt;br /&gt;
|-&lt;br /&gt;
|vdrf ||float8||YES||reference voltage Dac in V (0-~2.435)&lt;br /&gt;
|-&lt;br /&gt;
|vchr ||float8||YES||charge current voltage&lt;br /&gt;
|-&lt;br /&gt;
|g ||int2||YES|| Gps battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|c || int2||YES||Com battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|m || int2||YES||Charge Mode (0,1,2 Com battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|pressure || int4||YES|| in pascal (1mBar = 100Pa, 1pressuremeter = ~12Pa)&lt;br /&gt;
|-&lt;br /&gt;
|temperature || float8||YES|| in celcius degrees   &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_settings_limited ===&lt;br /&gt;
&lt;br /&gt;
Settings are either from C0-C1-C9 lines or parsed from uplink communication lines. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Derived timestamp from Hh:mi fields in C0 combined with computer timestamp in JOINED line&lt;br /&gt;
|-&lt;br /&gt;
|timesynced || int2 ||YES||&lt;br /&gt;
|-&lt;br /&gt;
|timezone_time || int2 ||YES||&lt;br /&gt;
|-&lt;br /&gt;
|swddd || int4||YES|| SpecialUserSwitches &lt;br /&gt;
|-&lt;br /&gt;
|gpsnavmode || int2||YES|| GpsNavMode 0-8. This is the Kalman filter used for GPS navigation mode often called the &amp;quot;Dynamic platform model&amp;quot;. 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 &amp;lt; 1g acceleration, 7 = airborne with &amp;lt; 2g acceleration, 8 = airborne with &amp;lt; 4g acceleration &lt;br /&gt;
|-&lt;br /&gt;
|gpsreceivermode || int2 ||YES|| GpsReceiverNode 0-3&lt;br /&gt;
|-&lt;br /&gt;
|gpsfixtime || int2||YES|| GpsFixTime 0-255&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln_on_h || int2||YES|| hours Gps IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln_on_m || int2||YES|| minutes Gps IvalN on &lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln  || int4||YES|| GpsIvalN (0-65530)&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale_on_h || int2||YES|| hours Gps IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale_on_m || int2||YES|| minutes GpS IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale  || int4||YES|| GpsIvalE &lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln_on_h || int2||YES|| hours Com IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln_on_m || int2||YES|| minutes Com IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln || int4||YES|| ComIvalN (0-65530)&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale_on_h || int2||YES|| hours Com IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale_on_m || int2||YES|| minutes Com IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale || int4||YES|| ComIvalE&lt;br /&gt;
|-&lt;br /&gt;
|accii || int4||YES|| Accelero measurement interval         &lt;br /&gt;
|-&lt;br /&gt;
|accbn || int4||YES|| Accelero number of blocks &lt;br /&gt;
|-&lt;br /&gt;
|accsn || int4||YES|| Accelero number of samples (0-65536)&lt;br /&gt;
|-&lt;br /&gt;
|f || int2||YES||Accelero sample frequency  (0=20Hz, 1=10Hz, 2=5Hz, 3=1Hz)&lt;br /&gt;
|-&lt;br /&gt;
|pdp || int2||YES|| PdopMsk (3-250)&lt;br /&gt;
|-&lt;br /&gt;
|pac||int2||YES|| PaccMsk (10-100)&lt;br /&gt;
|-&lt;br /&gt;
|tdp ||int2||YES|| TdopMsk (3-250)&lt;br /&gt;
|-&lt;br /&gt;
|tac ||int2||YES|| TaccMsk (30-300)&lt;br /&gt;
|-&lt;br /&gt;
|ga || int2||YES|| Additional Fixes GpsIval mode (3-25) before interval fix is logged&lt;br /&gt;
|-&lt;br /&gt;
|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 &amp;lt; level - 5&lt;br /&gt;
|-&lt;br /&gt;
|eventnum || text||YES|| 12 eventnumbers (0-0xff) only printed if not zero, therfore converted to text&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_trackingfile_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows the status of the last attempt to parse (process) the raw data of a file for a given tracker, for each tracker that your projects allow you to see.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier of the row&lt;br /&gt;
|-&lt;br /&gt;
|date_reported||date||NO||Date that the file arrived&lt;br /&gt;
|-&lt;br /&gt;
|filename||varchar||NO||Name of the file&lt;br /&gt;
|-&lt;br /&gt;
|last_modified_date||timestamp||NO||Date that the file was last modified on&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||YES||Serial number of the tracker this file comes from&lt;br /&gt;
|-&lt;br /&gt;
|filesize||int8||NO||Size of the file in KB&lt;br /&gt;
|-&lt;br /&gt;
|parsed_date||timestamp||YES||Date and time that the file was last attempted to be parsed on&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||NO||Optimistic locking field. Ignore it as a user. &lt;br /&gt;
|-&lt;br /&gt;
|last_found_date||timestamp||YES||Last time that a process that runs to look for new files saw the file&lt;br /&gt;
|-&lt;br /&gt;
|n_lines||int4||YES||Count of lines found in the file last time it was processed&lt;br /&gt;
|-&lt;br /&gt;
|n_data_lines||int4||YES||Count of actual data lines, out of the total lines&lt;br /&gt;
|-&lt;br /&gt;
|n_tracking_records||int4||YES||Count of GPS fixes found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_communication_records||int4||YES||Count of communication records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_energy_records||int4||YES||Count of energy records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_acceleration_records||int4||YES||Count of acceleration records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_acceleration_start_records||int4||YES||Count of acceleration start records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_errors||int4||YES||Count of errors encountered during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_settings_records||int4||YES||Count of settings records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|filepath||text||NO||Directory path of the file on the server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_warning_limited ===&lt;br /&gt;
&lt;br /&gt;
Since firmware version 1.0.2.7 this table was added for events that do not occur very often (C10, C20) or errors that occur during parsing. &lt;br /&gt;
&lt;br /&gt;
For example all CRC failures can be selected with : &lt;br /&gt;
&lt;br /&gt;
  select * from gps.ee_warning_limited&lt;br /&gt;
  where warning = 'CRC8 failure'&lt;br /&gt;
  order by device_info_serial;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|filename||text||NO||File name &lt;br /&gt;
|-&lt;br /&gt;
|linenumber||integer||YES||line number in file &lt;br /&gt;
|-&lt;br /&gt;
|warning||text||YES||The warning message&lt;br /&gt;
|-&lt;br /&gt;
|line||text||YES||The actual line contents in the file &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sharings ==&lt;br /&gt;
&lt;br /&gt;
Projects can now share trackers with other projects during periods of time. This means that people in the receiving projects can access information that these shared trackers provide during those time periods. &lt;br /&gt;
&lt;br /&gt;
The following views allow you to see this shared information:&lt;br /&gt;
&lt;br /&gt;
* Tracking data&lt;br /&gt;
** ''gps.''ee_shared_tracking_speed_limited: tracking information (gps, speed), during the shared period, for trackers shared&lt;br /&gt;
** ''gps.''ee_shared_acc_start_limited: acceleration start information, during the shared period, for trackers shared&lt;br /&gt;
** ''gps.''ee_shared_acceleration_limited: acceleration information for trackers shared&lt;br /&gt;
* Metadata&lt;br /&gt;
** ''gps.''ee_shared_tracker_limited: information about each shared tracker&lt;br /&gt;
** ''gps.''ee_shared_individual_limited: information about birds with shared trackers&lt;br /&gt;
** ''gps.''ee_shared_track_session_limited: information about track sessions which involve shared trackers&lt;br /&gt;
* Relation to projects&lt;br /&gt;
** ''gps.''ee_shared_tracker_sharing_limited: view information for each sharing that your projects allow you to see&lt;br /&gt;
&lt;br /&gt;
== Accelerometer calibration ==&lt;br /&gt;
&lt;br /&gt;
The accelerometer measures the acceleration in 3D (20 times per second). Acceleration is caused by gravity (static component) and by a change in speed (dynamic component). &lt;br /&gt;
When the logger is static in horizontal position (solar cells up), gravity (green arrow) shows a  heave (vertical acceleration, z) of +1 g (1 g = 9.81 m.s&amp;lt;sup&amp;gt;-2&amp;lt;/sup&amp;gt;) while surge and heave are both 0. When the front of the logger is vertically pointing down (forward acceleration, x), surge is +1g and when it is rolled to the right (sidewards acceleration, y) sway is +1g. Due to gravity, the pitch of a logger is thus translated into the values of heave, surge and sway (or z, x, y).&lt;br /&gt;
&lt;br /&gt;
However, the values are measured in mV instead of g. Before delivering the GPS-loggers, they have been calibrated at UvA. The acceleration (A) expressed in g is calculated from the measured value (M) and the calibration factors offset (''O'') and sensitivity (''S'').&lt;br /&gt;
&lt;br /&gt;
Thus acceleration for heave (z), surge (x) and sway (y) is calculated as:&lt;br /&gt;
A&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; = (M&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;-O&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;)/S&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; ;      A&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; = (M&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;-O&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;)/S&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;;      A&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; = (M&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt;-O&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt;)/S&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; ; &lt;br /&gt;
&lt;br /&gt;
The values of ''O'' (in general ranging from 0-60, sometimes even 300) and ''S'' (ranging from 1300-1450) are available in the device table of the data base. If not available, use the factory defaults ''O'' = 0 and ''S'' = 1365.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[File:accelero1.png|300px]]||[[File:accelero2.png|300px]]|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the figure above heave (z) is shown in green, surge(x) in red and sway (y) in blue, all values are expressed in g (on the y-axis).&lt;br /&gt;
&lt;br /&gt;
== Data processing and filtering ==&lt;br /&gt;
The raw log files are processed before being entered into the database. Each firmware version has a dedicated parser for the task. In certain cases data that is found in the log files is not stored in the database.  This can occur for two reasons:&lt;br /&gt;
&lt;br /&gt;
1. The data did not pass the CRC8 checksum (cyclic redundancy check). This is a standard procedure designed to detect accidental changes to raw computer data.&lt;br /&gt;
&lt;br /&gt;
2. If the data has an invalid signature. For example, if a certain data format (eg numeric) or number of values (eg 4 digits) is expected but not returned, this record is not stored in the database.&lt;br /&gt;
&lt;br /&gt;
When a line is deleted, the log file name, line number and the type of error is stored in the table gps.uva_warning102.&lt;br /&gt;
&lt;br /&gt;
== Information about GPS receivers ==&lt;br /&gt;
The first series of tags used the UBlox LEAS4S chip (~up to tag 541), newer tags use UBlox LEAS6S. The series developed in 2012 will use the Max6G receivers. From 2012 receiver versions will be stored in the database.&lt;br /&gt;
The UBX protocol is used for programming firmware, packaging and processing data.&lt;br /&gt;
For more information about the receivers themselves see the ublox documentation.&lt;br /&gt;
Ublox 4 Protocol specification [http://www.u-blox.com/images/downloads/Product_Docs/ANTARIS_Protocol_Specification%28GPS.G3-X-03002%29.zip]&lt;br /&gt;
Ublox 6 Protocol specification [http://www.u-blox.com/images/downloads/Product_Docs/u-blox6_ReceiverDescriptionProtocolSpec_%28GPS.G6-SW-10018%29.pdf]&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=Reference_systems_for_GPS_coordinates_and_altitudes&amp;diff=1436</id>
		<title>Reference systems for GPS coordinates and altitudes</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=Reference_systems_for_GPS_coordinates_and_altitudes&amp;diff=1436"/>
				<updated>2021-01-22T09:33:51Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;All of our UvA-BiTS GPS trackers use the Ublox Max-6G GPS receiver to collect vertical and horizontal position data. &lt;br /&gt;
&lt;br /&gt;
The GPS unit measures the distance from the satellites to the device and then it calculates the distance relative to the WGS84 ellipsoid (World Geodetic System WGS84). GPS coordinates in the database are calculated relative to the WGS84 datum.&lt;br /&gt;
 &lt;br /&gt;
The altitude measurements provided in the database are altitude above a geoid that approximates global mean sea level rather than altitudes relative to the WGS84 ellipsoid. (A good explanation about the difference between ellipsoids and geoid is available here: https://www.esri.com/news/arcuser/0703/geoid1of3.html)&lt;br /&gt;
&lt;br /&gt;
Be aware that global mean sea level is not the same as the earth’s surface (i.e. land surface elevation). However, the SRTM-DEM data included in the database as land surface elevation data are also calculated relative to global mean sea level and can therefore be combined directly with UvA-BiTS movement data to calculate the bird’s altitude above land surface elevation. Different GPS tracker manufacturers may provide altitude measurements using different methods and/or reference systems, so use caution when combining GPS data collected with multiple tracking systems.&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=DB_Tables_2015&amp;diff=1435</id>
		<title>DB Tables 2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=DB_Tables_2015&amp;diff=1435"/>
				<updated>2021-01-22T09:33:08Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* gps.uva_tracking_data101 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Note:''' What follows is a list of tables and explanations intended for the database maintainers or otherwise people actively involved in the development of the e-Ecology system itself. Most e-Ecology users should focus on the documentation on the [[UvA-BiTS_Tracking_Data|UvA-BiTS Tracking Data page]]. This page is intended as a reference only.&lt;br /&gt;
&lt;br /&gt;
The database is split into two useful 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 e-Ecology administrators. &lt;br /&gt;
&lt;br /&gt;
== ''Source'' data ==&lt;br /&gt;
&lt;br /&gt;
=== ''admin.''ee_project_limited ===&lt;br /&gt;
Each row represents a project.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier. Primary key&lt;br /&gt;
|-&lt;br /&gt;
|description||text||YES||String for free description. Updatable by the user.&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the project is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||Unique key name, of the form species_place&lt;br /&gt;
|-&lt;br /&gt;
|lft||int8||NO||&amp;quot;Modified preorder tree traversal&amp;quot; field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|rgt||int8||NO||&amp;quot;Modified preorder tree traversal&amp;quot; field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Project start date&lt;br /&gt;
|-&lt;br /&gt;
|station_name||varchar||NO||Where the receiving station is&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||NO||Reference to the user who last edited the project&lt;br /&gt;
|-&lt;br /&gt;
|parent||int8||YES||Reference to the parent project. Only the root project has no parent.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''admin.''ee_user ===&lt;br /&gt;
&lt;br /&gt;
Each row represents a user.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
||id||int8||NO||Unique identifier. Primary key&lt;br /&gt;
|-&lt;br /&gt;
||address||varchar||YES||String for postal address&lt;br /&gt;
|-&lt;br /&gt;
|email||varchar||NO||e-mail address&lt;br /&gt;
|-&lt;br /&gt;
|encrypted_password||varchar||NO||Encrypted password&lt;br /&gt;
|-&lt;br /&gt;
|login_name||varchar||NO||Login name&lt;br /&gt;
|-&lt;br /&gt;
|mobile_phone||varchar||YES||String for mobile phone number&lt;br /&gt;
|-&lt;br /&gt;
|name||varchar||NO||(first) name&lt;br /&gt;
|-&lt;br /&gt;
|surname||varchar||NO||Surname&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||YES||Id of the user who last edited this user's data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.'' ee_tracker ===&lt;br /&gt;
&lt;br /&gt;
Each row represents a tracker.&lt;br /&gt;
&lt;br /&gt;
This table replaces the old gps.uva_device.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier. Primary key.&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the device is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|firmware_version||varchar||YES||String for firmware version&lt;br /&gt;
|-&lt;br /&gt;
|mass||numeric(4,2)||YES||Mass (in grams)&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date before which the device is not relevant&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|x_o||numeric(30,6)||YES||Accelerometer calibration: offset on the x (surge) axis&lt;br /&gt;
|-&lt;br /&gt;
|x_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the x (surge) axis&lt;br /&gt;
|-&lt;br /&gt;
|y_o||numeric(30,6)||YES||Accelerometer calibration: offset on the y (sway) axis&lt;br /&gt;
|-&lt;br /&gt;
|y_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the y (sway) axis&lt;br /&gt;
|-&lt;br /&gt;
|z_o||numeric(30,6)||YES||Accelerometer calibration: offset on the z (heave) axis&lt;br /&gt;
|-&lt;br /&gt;
|z_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the y (heave) axis&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_individual ===&lt;br /&gt;
&lt;br /&gt;
Each row represents a bird.&lt;br /&gt;
&lt;br /&gt;
This table replaces gps.uva_individual from the old database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier. Primary key.&lt;br /&gt;
|-&lt;br /&gt;
|colour_ring||varchar||YES||String for ring colour&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the bird is no longer relevant&lt;br /&gt;
|-&lt;br /&gt;
|mass||numeric(5,0)||YES||Mass (grams)&lt;br /&gt;
|-&lt;br /&gt;
|operated_date||timestamp||NO||Recording of the last time the row was edited&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Text for user remarks&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||Ring number&lt;br /&gt;
|-&lt;br /&gt;
|sex||varchar||NO||Sex&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date before which the bird is not relevant&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as user.&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||NO||Reference to the user who last edited the row&lt;br /&gt;
|-&lt;br /&gt;
|species||int8||NO||Reference to the species&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_track_session ===&lt;br /&gt;
&lt;br /&gt;
Each row represents a track session. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier. Primary key.&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the track session is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|operated_date||timestamp||NO||Recording of the last time the row was edited&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Free text for comments&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date before which the track session is not relevant&lt;br /&gt;
|-&lt;br /&gt;
|start_latitude||numeric(11,8)||NO||Latitude where the bird was tagged&lt;br /&gt;
|-&lt;br /&gt;
|start_longitude||numeric(11,8)||NO||Longitude where the bird was tagged&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|device||int8||NO||Reference to the tracker&lt;br /&gt;
|-&lt;br /&gt;
|individual||int8||NO||Reference to the individual&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||NO||Reference to the user who last edited the row&lt;br /&gt;
|-&lt;br /&gt;
|project||int8||NO||Reference to the project this track session belongs to&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Tracking data ==&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_tracking_data101 ===&lt;br /&gt;
&lt;br /&gt;
Each row represents a GPS fix as it is interpreted from the data that comes via the GPS tracker. See [[Reference systems for GPS coordinates and altitudes]] for further details.&lt;br /&gt;
&lt;br /&gt;
This table structure has ''not'' changed with respect to our previous database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the fix. Part of the unique identifier of the GPS fix.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time when the fix was taken. UTC (i.e.: no timezone). Part of the unique identifier of the GPS fix. &lt;br /&gt;
|-&lt;br /&gt;
|latitude||float8||YES||Latitude of the GPS fix (WGS1984 datum)&lt;br /&gt;
|-&lt;br /&gt;
|longitude||float8||YES||Longitude of the GPS fix (WGS1984 datum)&lt;br /&gt;
|-&lt;br /&gt;
|altitude||int4||YES||Altitude above sea level measured by GPS tag in meters (WGS1984 datum)&lt;br /&gt;
|-&lt;br /&gt;
|pressure||int4||YES||Pressure measured by GPS tag sensor in Pascals&lt;br /&gt;
|-&lt;br /&gt;
|temperature||float8||YES||Temperature measured by GPS tag sensor in Celsius&lt;br /&gt;
|-&lt;br /&gt;
|h_accuracy||float8||YES||Horizontal accuracy (meters)&lt;br /&gt;
|-&lt;br /&gt;
|v_accuracy||float8||YES||vertical accuracy (meters)&lt;br /&gt;
|-&lt;br /&gt;
|x_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|y_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|z_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|gps_fixtime||float8||YES||GPS fix time (also known as Time to Fix) in seconds&lt;br /&gt;
|-&lt;br /&gt;
|userflag||int4||YES||Acceptable = 0; Data flagged as unacceptable by user if not equal to 0.&lt;br /&gt;
|-&lt;br /&gt;
|satellites_used||int2||YES||Number of satellites used for fix the GPS measurement&lt;br /&gt;
|-&lt;br /&gt;
|positiondop||float8||YES||Positional DOP (Dilution of Precision), unitless&lt;br /&gt;
|-&lt;br /&gt;
|speed_accuracy||float8||YES||&lt;br /&gt;
|-&lt;br /&gt;
|location||geometry||YES||postgreSQL geometry; to allow GIS operations&lt;br /&gt;
|-&lt;br /&gt;
|speed_3d||float8||YES|| sqrt(d.x_speed^2 + d.y_speed^2 + d.z_speed^2)&lt;br /&gt;
|-&lt;br /&gt;
|speed_2d||float8||YES|| Speed on 2D&lt;br /&gt;
|-&lt;br /&gt;
|direction||numeric||YES|| Heading in degrees; 0 is north, 90 is east&lt;br /&gt;
|-&lt;br /&gt;
|altitude_agl||float8||YES|| Reported GPS altitude MINUS terrain elevation on the coordinate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_acc_start102 ===&lt;br /&gt;
&lt;br /&gt;
Each row represents the start of a block of accelerations when a GPS fix is not available.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Added in firmware 1.0.2.7.&lt;br /&gt;
&lt;br /&gt;
This table structure has not changed with respect to our previous database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the acceleration measurement.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time to mark the start of the acceleration block.&lt;br /&gt;
|-&lt;br /&gt;
|line_counter||int4||NO||Number of lines associated with this set of accelerations.&lt;br /&gt;
|-&lt;br /&gt;
|timesynced||int2||YES||The source of the time that marks the acceleration block (0=not synced, 1=user set, 2=Gps Synced).&lt;br /&gt;
|-&lt;br /&gt;
|ascii||int4||YES||Acceleration measurement interval.&lt;br /&gt;
|-&lt;br /&gt;
|accsn||int4||YES||Number of samples (0-65536).&lt;br /&gt;
|-&lt;br /&gt;
|f||int2||YES||Acceleration sampling frequency (0=20Hz, 1=10Hz, 2=5Hz, 3=1Hz).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_acceleration101 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
This table structure has ''not'' changed with respect to our previous database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the fix. Part of the unique identifier of the GPS fix.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time of the acceleration block that this measurement belongs to.&lt;br /&gt;
|-&lt;br /&gt;
|index||int2||NO||Sorting order of the measurement within the acceleration block (each block starts at 0).&lt;br /&gt;
|-&lt;br /&gt;
|x_acceleration||int2||YES||Acceleration measured on the x (or surge) axis (range between -2666 and 2666).&lt;br /&gt;
|-&lt;br /&gt;
|y_acceleration||int2||YES||Acceleration measured on the y (or sway) axis (range between -2666 and 2666).&lt;br /&gt;
|-&lt;br /&gt;
|z_acceleration||int2||YES||Acceleration measured on the z (or heave) axis (range between -2666 and 2666).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_nest ===&lt;br /&gt;
This table holds nests' information. A nest is always for (at least) a bird with a tracker (so a track session must exist for that bird), and must contain a short name (a reference name for you to use) and a latitude and longitude pair.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique id. Primary key.&lt;br /&gt;
|-&lt;br /&gt;
|reference_name||varchar||NO||A string with a useful reference for you. We recommend its being unique for each nest in a project, but the system does NOT enforce it.&lt;br /&gt;
|-&lt;br /&gt;
|latitude||numeric||YES||Latitude of the coordinates where the nest was found (WGS1984 datum)&lt;br /&gt;
|-&lt;br /&gt;
|longitude||numeric||YES||Longitude of the coordinates where the nest was found (WGS1984 datum)&lt;br /&gt;
|-&lt;br /&gt;
|start_date_time||timestamp||NO||When the nest was spotted.&lt;br /&gt;
|-&lt;br /&gt;
|end_date_time||timestamp||NO||When the nest ceases to be relevant.&lt;br /&gt;
|-&lt;br /&gt;
|found_by_whom||varchar||YES||Place to credit people involved in finding the nest.&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Free text.&lt;br /&gt;
|-&lt;br /&gt;
|location||bytearray||YES||Calculated Geometry of the coordinates where the nest was found.&lt;br /&gt;
|-&lt;br /&gt;
|operated_date||timestamp||NO||When was this row last edited.&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||NO||Reference to a user id. Last one who edited the row.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_nest_inhabitant ===&lt;br /&gt;
This table is the materialisation of the many-to-many relation between nests and birds. The primary key of the table is the pair of both columns.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|nest_id||int8||NO||Reference to the nest id. &lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Reference to the individual id.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Relation to projects ==&lt;br /&gt;
&lt;br /&gt;
=== ''admin.''ee_membership ===&lt;br /&gt;
&lt;br /&gt;
Each row represents the fact that a user has a given role in a given project at the moment.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier. Primary key.&lt;br /&gt;
|-&lt;br /&gt;
|comments||text||YES||Free text for comments&lt;br /&gt;
|-&lt;br /&gt;
|label||text||YES||Labels that Willem wants to have for people in projects&lt;br /&gt;
|-&lt;br /&gt;
|role||varchar||NO||Role that the user holds during this period&lt;br /&gt;
|-&lt;br /&gt;
|status||varchar||NO||Status that the row holds during that period. Look at the attached file to know the allowed transitions.&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|member_user||int8||NO||Reference to the user that this membership applies to&lt;br /&gt;
|-&lt;br /&gt;
|operated_date||timestamp||NO||Date that the row was last modified&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||NO||Reference to the user who last edited this row&lt;br /&gt;
|-&lt;br /&gt;
|project||int8||NO||Reference to the project that this membership applies to&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''admin.''ee_tracker_ownership ===&lt;br /&gt;
&lt;br /&gt;
Each row represents the fact that a tracker belongs to a project within a specified time period.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier. Primary key.&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the tracker ceases to belong to the project&lt;br /&gt;
|-&lt;br /&gt;
|operated_date||timestamp||NO||Recording of the last time the row was edited&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date at which the project begins to own the tracker&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|device||int8||NO||Reference to the tracker&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||NO||Reference to the user who last edited the row&lt;br /&gt;
|-&lt;br /&gt;
|project||int8||NO||Reference to the project this tracker belongs to&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''admin.''ee_individual_ownership ===&lt;br /&gt;
&lt;br /&gt;
Each row represents the fact that an individual belongs to a project within a specified time period.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier. Primary key.&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the individual ceases to belong to the project&lt;br /&gt;
|-&lt;br /&gt;
|operated_date||timestamp||NO||Recording of the last time the row was edited&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date at which the project begins to own the individual&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|individual||int8||NO||Reference to the individual&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||NO||Reference to the user who last edited the row&lt;br /&gt;
|-&lt;br /&gt;
|project||int8||NO||Reference to the project this individual belongs to&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_tracker_sharing ===&lt;br /&gt;
&lt;br /&gt;
Each row represents the fact that a tracker's information within a specified period, can be accessed by users belonging to another project.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier. Primary key.&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the tracker information ceases to be available to the receiving project&lt;br /&gt;
|-&lt;br /&gt;
|operated_date||timestamp||NO||Recording of the last time the row was edited&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date at which the tracker information becomes available to the receiving project&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||NO||Reference to the user who last edited the row&lt;br /&gt;
|-&lt;br /&gt;
|project||int8||NO||Reference to the project that receives access to the tracker information&lt;br /&gt;
|-&lt;br /&gt;
|tracker_ownership||int8||NO||Reference to the tracker ownership by virtue of which, the tracker information is shared&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Engineering data ==&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_trackingfile_parsing ===&lt;br /&gt;
&lt;br /&gt;
Each row on this table represents the status of the last attempt to parse (process) the raw data file that came from a tracker.&lt;br /&gt;
&lt;br /&gt;
It is heavily used by the dashboard to determine how a given file is represented there.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier of the row&lt;br /&gt;
|-&lt;br /&gt;
|date_reported||date||NO||Date that the file arrived&lt;br /&gt;
|-&lt;br /&gt;
|filename||varchar||NO||Name of the file&lt;br /&gt;
|-&lt;br /&gt;
|last_modified_date||timestamp||NO||Date that the file was last modified on&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||YES||Serial number of the tracker this file comes from&lt;br /&gt;
|-&lt;br /&gt;
|filesize||int8||NO||Size of the file in KB&lt;br /&gt;
|-&lt;br /&gt;
|parsed_date||timestamp||YES||Date and time that the file was last attempted to be parsed on&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||NO||Optimistic locking field. Ignore it as a user. &lt;br /&gt;
|-&lt;br /&gt;
|last_found_date||timestamp||YES||Last time that a process that runs to look for new files saw the file&lt;br /&gt;
|-&lt;br /&gt;
|n_lines||int4||YES||Count of lines found in the file last time it was processed&lt;br /&gt;
|-&lt;br /&gt;
|n_data_lines||int4||YES||Count of actual data lines, out of the total lines&lt;br /&gt;
|-&lt;br /&gt;
|n_tracking_records||int4||YES||Count of GPS fixes found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_communication_records||int4||YES||Count of communication records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_energy_records||int4||YES||Count of energy records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_acceleration_records||int4||YES||Count of acceleration records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_acceleration_start_records||int4||YES||Count of acceleration start records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_errors||int4||YES||Count of errors encountered during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_settings_records||int4||YES||Count of settings records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|filepath||text||NO||Directory path of the file on the server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_trackingfile_messages ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||serial||NO||Unique identifier of the row&lt;br /&gt;
|-&lt;br /&gt;
|tracking_bookkeeping_id||int4||YES||Reference to the gps.uva_trackingfile_parsing row for this file&lt;br /&gt;
|-&lt;br /&gt;
|message_type||int4||YES||Code for the type of information being told by the message. &lt;br /&gt;
|-&lt;br /&gt;
|message||text||YES||Textual message from the parsing process telling what it found.&lt;br /&gt;
|-&lt;br /&gt;
|message_code||int4||YES||&lt;br /&gt;
|-&lt;br /&gt;
|line_number||int4||YES||Line in the file where the message is reported&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_warning102 ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
For example all CRC failures can be selected with : &lt;br /&gt;
&lt;br /&gt;
  select * from gps.uva_warning102 &lt;br /&gt;
  where warning = 'CRC8 failure'&lt;br /&gt;
  order by device_info_serial;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|filename||text||NO||log file name &lt;br /&gt;
|-&lt;br /&gt;
|linenumber||integer||YES||line number in file &lt;br /&gt;
|-&lt;br /&gt;
|warning||text||YES||The warning message&lt;br /&gt;
|-&lt;br /&gt;
|line||text||YES||The actual line in the file &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_comm101 ===&lt;br /&gt;
&lt;br /&gt;
Communication table indicates status and result of communications with ground stations. Only for newer firmware (v.1.0.1.4 and higher).&lt;br /&gt;
&lt;br /&gt;
This table structure has ''not'' changed with respect to our previous database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
| device_info_serial || int4 || NO || Serial number of the tracker.&lt;br /&gt;
|-&lt;br /&gt;
| date_time || timestamp || NO || timestamp of start communication&lt;br /&gt;
|-&lt;br /&gt;
| date_time_end || timestamp ||YES|| timestamp of end communication           &lt;br /&gt;
|-&lt;br /&gt;
| date_time_utc || timestamp ||YES|| date_time in utc (if available)&lt;br /&gt;
|-&lt;br /&gt;
| date_time_end_utc || timestamp ||YES|| date_time_end in utc (if available)&lt;br /&gt;
|-&lt;br /&gt;
| action || text||YES|| JOINED / RESCHEDULE  ??&lt;br /&gt;
|-&lt;br /&gt;
| bytes_communicated || int4 ||YES|| Number of bytes communicated (total of all bytes per DATA line)  &lt;br /&gt;
|-&lt;br /&gt;
|status || text ||YES|| READY, TIMEOUT, LOWPOWER, MISSING&lt;br /&gt;
|-&lt;br /&gt;
| network_join_time || int4||YES||milliseconds&lt;br /&gt;
|-&lt;br /&gt;
| number_identical_lines || int4 ||YES|| Number identical lines in data block. Gives indication &lt;br /&gt;
|-&lt;br /&gt;
| non_ascii_char || int4 ||YES|| Number of non ascii characters (indicated by question-mark ?)&lt;br /&gt;
|-&lt;br /&gt;
| sts_time || timestamp ||YES|| derived from S0 hh,mi&lt;br /&gt;
|-&lt;br /&gt;
| timesynced || int2||YES|| TimeSynced (0=not sy:wnced, 1=user set, 2=Gps Synced)&lt;br /&gt;
|-&lt;br /&gt;
|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)&lt;br /&gt;
|-&lt;br /&gt;
| vbat || float8 ||YES|| Battery voltage in V (0-~4.200V) &lt;br /&gt;
|-&lt;br /&gt;
|logb || int4 ||YES|| logged bytes, waiting for download (0-4Mbyte)&lt;br /&gt;
|-&lt;br /&gt;
| logp || int2 ||YES|| Logged percentage (units 0.1%) of memory waiting to be downloaded (0-1000)&lt;br /&gt;
|-&lt;br /&gt;
| gpsii || int4 ||YES|| GpsIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|comii || int4||YES|| ComIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|accii || int4||YES|| AcceleroIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|swddd || int4||YES|| User switches, current (0-65535) &lt;br /&gt;
|-&lt;br /&gt;
|last_gps_fix ||timestamp||YES||timestamp of last fix&lt;br /&gt;
|-&lt;br /&gt;
|latitude||float8||YES||Latitude of last fix. Decimal degrees &lt;br /&gt;
|-&lt;br /&gt;
|longitude||float8||YES||Longitude of last fix. Decimal degrees&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_energy101 ===&lt;br /&gt;
&lt;br /&gt;
Only for newer firmware.&lt;br /&gt;
&lt;br /&gt;
This table structure has not changed with respect to our previous database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Date and time of the reported data&lt;br /&gt;
|-&lt;br /&gt;
|timesynced ||int2||YES||TimeSynced (0=not synced, 1=user set, 2=Gps synced)&lt;br /&gt;
|-&lt;br /&gt;
|devicemode ||int2||YES||(0-99)&lt;br /&gt;
|-&lt;br /&gt;
|vsll ||float8||YES||Solar Voltage during charging in mV (0-~2500)&lt;br /&gt;
|-&lt;br /&gt;
|vbat ||float8||YES||Battery Voltage in V (0-~4.200)&lt;br /&gt;
|-&lt;br /&gt;
|ssw ||int2||YES|| Solar Cell Switches ... (0-255) fw1022 and up &lt;br /&gt;
|-&lt;br /&gt;
| ||||YES||extended fields if special user switch is on &lt;br /&gt;
|-&lt;br /&gt;
|vsoo ||float8||YES|| Solar voltage open in V (0-~2.500)&lt;br /&gt;
|-&lt;br /&gt;
|vdrf ||float8||YES||reference voltage Dac in V (0-~2.435)&lt;br /&gt;
|-&lt;br /&gt;
|vchr ||float8||YES||charge current voltage&lt;br /&gt;
|-&lt;br /&gt;
|g ||int2||YES|| Gps battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|c || int2||YES||Com battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|m || int2||YES||Charge Mode (0,1,2 Com battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|pressure || int4||YES|| in pascal (1mBar = 100Pa, 1pressuremeter = ~12Pa)&lt;br /&gt;
|-&lt;br /&gt;
|temperature || float8||YES|| in celcius degrees   &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_settings101 ===&lt;br /&gt;
&lt;br /&gt;
Settings are either from C0-C1-C9 lines or parsed from uplink communication lines. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
This table structure has ''not'' changed from the old database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Derived timestamp from Hh:mi fields in C0 combined with computer timestamp in JOINED line&lt;br /&gt;
|-&lt;br /&gt;
|timesynced || int2 ||YES||&lt;br /&gt;
|-&lt;br /&gt;
|timezone_time || int2 ||YES||&lt;br /&gt;
|-&lt;br /&gt;
|swddd || int4||YES|| SpecialUserSwitches &lt;br /&gt;
|-&lt;br /&gt;
|gpsnavmode || int2||YES|| GpsNavMode 0-8. This is the Kalman filter used for GPS navigation mode often called the &amp;quot;Dynamic platform model&amp;quot;. 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 &amp;lt; 1g acceleration, 7 = airborne with &amp;lt; 2g acceleration, 8 = airborne with &amp;lt; 4g acceleration &lt;br /&gt;
|-&lt;br /&gt;
|gpsreceivermode || int2 ||YES|| GpsReceiverNode 0-3&lt;br /&gt;
|-&lt;br /&gt;
|gpsfixtime || int2||YES|| GpsFixTime 0-255&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln_on_h || int2||YES|| hours Gps IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln_on_m || int2||YES|| minutes Gps IvalN on &lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln  || int4||YES|| GpsIvalN (0-65530)&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale_on_h || int2||YES|| hours Gps IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale_on_m || int2||YES|| minutes GpS IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale  || int4||YES|| GpsIvalE &lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln_on_h || int2||YES|| hours Com IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln_on_m || int2||YES|| minutes Com IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln || int4||YES|| ComIvalN (0-65530)&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale_on_h || int2||YES|| hours Com IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale_on_m || int2||YES|| minutes Com IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale || int4||YES|| ComIvalE&lt;br /&gt;
|-&lt;br /&gt;
|accii || int4||YES|| Accelero measurement interval         &lt;br /&gt;
|-&lt;br /&gt;
|accbn || int4||YES|| Accelero number of blocks &lt;br /&gt;
|-&lt;br /&gt;
|accsn || int4||YES|| Accelero number of samples (0-65536)&lt;br /&gt;
|-&lt;br /&gt;
|f || int2||YES||Accelero sample frequency  (0=20Hz, 1=10Hz, 2=5Hz, 3=1Hz)&lt;br /&gt;
|-&lt;br /&gt;
|pdp || int2||YES|| PdopMsk (3-250)&lt;br /&gt;
|-&lt;br /&gt;
|pac||int2||YES|| PaccMsk (10-100)&lt;br /&gt;
|-&lt;br /&gt;
|tdp ||int2||YES|| TdopMsk (3-250)&lt;br /&gt;
|-&lt;br /&gt;
|tac ||int2||YES|| TaccMsk (30-300)&lt;br /&gt;
|-&lt;br /&gt;
|ga || int2||YES|| Additional Fixes GpsIval mode (3-25) before interval fix is logged&lt;br /&gt;
|-&lt;br /&gt;
|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 &amp;lt; level - 5&lt;br /&gt;
|-&lt;br /&gt;
|eventnum || text||YES|| 12 eventnumbers (0-0xff) only printed if not zero, therfore converted to text&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=DB_Tables_2015&amp;diff=1434</id>
		<title>DB Tables 2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=DB_Tables_2015&amp;diff=1434"/>
				<updated>2021-01-22T09:32:00Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* gps.ee_nest */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Note:''' What follows is a list of tables and explanations intended for the database maintainers or otherwise people actively involved in the development of the e-Ecology system itself. Most e-Ecology users should focus on the documentation on the [[UvA-BiTS_Tracking_Data|UvA-BiTS Tracking Data page]]. This page is intended as a reference only.&lt;br /&gt;
&lt;br /&gt;
The database is split into two useful 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 e-Ecology administrators. &lt;br /&gt;
&lt;br /&gt;
== ''Source'' data ==&lt;br /&gt;
&lt;br /&gt;
=== ''admin.''ee_project_limited ===&lt;br /&gt;
Each row represents a project.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier. Primary key&lt;br /&gt;
|-&lt;br /&gt;
|description||text||YES||String for free description. Updatable by the user.&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the project is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||Unique key name, of the form species_place&lt;br /&gt;
|-&lt;br /&gt;
|lft||int8||NO||&amp;quot;Modified preorder tree traversal&amp;quot; field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|rgt||int8||NO||&amp;quot;Modified preorder tree traversal&amp;quot; field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Project start date&lt;br /&gt;
|-&lt;br /&gt;
|station_name||varchar||NO||Where the receiving station is&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||NO||Reference to the user who last edited the project&lt;br /&gt;
|-&lt;br /&gt;
|parent||int8||YES||Reference to the parent project. Only the root project has no parent.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''admin.''ee_user ===&lt;br /&gt;
&lt;br /&gt;
Each row represents a user.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
||id||int8||NO||Unique identifier. Primary key&lt;br /&gt;
|-&lt;br /&gt;
||address||varchar||YES||String for postal address&lt;br /&gt;
|-&lt;br /&gt;
|email||varchar||NO||e-mail address&lt;br /&gt;
|-&lt;br /&gt;
|encrypted_password||varchar||NO||Encrypted password&lt;br /&gt;
|-&lt;br /&gt;
|login_name||varchar||NO||Login name&lt;br /&gt;
|-&lt;br /&gt;
|mobile_phone||varchar||YES||String for mobile phone number&lt;br /&gt;
|-&lt;br /&gt;
|name||varchar||NO||(first) name&lt;br /&gt;
|-&lt;br /&gt;
|surname||varchar||NO||Surname&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||YES||Id of the user who last edited this user's data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.'' ee_tracker ===&lt;br /&gt;
&lt;br /&gt;
Each row represents a tracker.&lt;br /&gt;
&lt;br /&gt;
This table replaces the old gps.uva_device.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier. Primary key.&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the device is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|firmware_version||varchar||YES||String for firmware version&lt;br /&gt;
|-&lt;br /&gt;
|mass||numeric(4,2)||YES||Mass (in grams)&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date before which the device is not relevant&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|x_o||numeric(30,6)||YES||Accelerometer calibration: offset on the x (surge) axis&lt;br /&gt;
|-&lt;br /&gt;
|x_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the x (surge) axis&lt;br /&gt;
|-&lt;br /&gt;
|y_o||numeric(30,6)||YES||Accelerometer calibration: offset on the y (sway) axis&lt;br /&gt;
|-&lt;br /&gt;
|y_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the y (sway) axis&lt;br /&gt;
|-&lt;br /&gt;
|z_o||numeric(30,6)||YES||Accelerometer calibration: offset on the z (heave) axis&lt;br /&gt;
|-&lt;br /&gt;
|z_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the y (heave) axis&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_individual ===&lt;br /&gt;
&lt;br /&gt;
Each row represents a bird.&lt;br /&gt;
&lt;br /&gt;
This table replaces gps.uva_individual from the old database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier. Primary key.&lt;br /&gt;
|-&lt;br /&gt;
|colour_ring||varchar||YES||String for ring colour&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the bird is no longer relevant&lt;br /&gt;
|-&lt;br /&gt;
|mass||numeric(5,0)||YES||Mass (grams)&lt;br /&gt;
|-&lt;br /&gt;
|operated_date||timestamp||NO||Recording of the last time the row was edited&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Text for user remarks&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||Ring number&lt;br /&gt;
|-&lt;br /&gt;
|sex||varchar||NO||Sex&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date before which the bird is not relevant&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as user.&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||NO||Reference to the user who last edited the row&lt;br /&gt;
|-&lt;br /&gt;
|species||int8||NO||Reference to the species&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_track_session ===&lt;br /&gt;
&lt;br /&gt;
Each row represents a track session. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier. Primary key.&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the track session is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|operated_date||timestamp||NO||Recording of the last time the row was edited&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Free text for comments&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date before which the track session is not relevant&lt;br /&gt;
|-&lt;br /&gt;
|start_latitude||numeric(11,8)||NO||Latitude where the bird was tagged&lt;br /&gt;
|-&lt;br /&gt;
|start_longitude||numeric(11,8)||NO||Longitude where the bird was tagged&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|device||int8||NO||Reference to the tracker&lt;br /&gt;
|-&lt;br /&gt;
|individual||int8||NO||Reference to the individual&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||NO||Reference to the user who last edited the row&lt;br /&gt;
|-&lt;br /&gt;
|project||int8||NO||Reference to the project this track session belongs to&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Tracking data ==&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_tracking_data101 ===&lt;br /&gt;
&lt;br /&gt;
Each row represents a GPS fix as it is interpreted from the data that comes via the GPS tracker. &lt;br /&gt;
&lt;br /&gt;
This table structure has ''not'' changed with respect to our previous database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the fix. Part of the unique identifier of the GPS fix.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time when the fix was taken. UTC (i.e.: no timezone). Part of the unique identifier of the GPS fix. &lt;br /&gt;
|-&lt;br /&gt;
|latitude||float8||YES||Latitude of the GPS fix (WGS1984 datum)&lt;br /&gt;
|-&lt;br /&gt;
|longitude||float8||YES||Longitude of the GPS fix (WGS1984 datum)&lt;br /&gt;
|-&lt;br /&gt;
|altitude||int4||YES||Altitude above sea level measured by GPS tag in meters (WGS1984 datum)&lt;br /&gt;
|-&lt;br /&gt;
|pressure||int4||YES||Pressure measured by GPS tag sensor in Pascals&lt;br /&gt;
|-&lt;br /&gt;
|temperature||float8||YES||Temperature measured by GPS tag sensor in Celsius&lt;br /&gt;
|-&lt;br /&gt;
|h_accuracy||float8||YES||Horizontal accuracy (meters)&lt;br /&gt;
|-&lt;br /&gt;
|v_accuracy||float8||YES||vertical accuracy (meters)&lt;br /&gt;
|-&lt;br /&gt;
|x_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|y_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|z_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|gps_fixtime||float8||YES||GPS fix time (also known as Time to Fix) in seconds&lt;br /&gt;
|-&lt;br /&gt;
|userflag||int4||YES||Acceptable = 0; Data flagged as unacceptable by user if not equal to 0.&lt;br /&gt;
|-&lt;br /&gt;
|satellites_used||int2||YES||Number of satellites used for fix the GPS measurement&lt;br /&gt;
|-&lt;br /&gt;
|positiondop||float8||YES||Positional DOP (Dilution of Precision), unitless&lt;br /&gt;
|-&lt;br /&gt;
|speed_accuracy||float8||YES||&lt;br /&gt;
|-&lt;br /&gt;
|location||geometry||YES||postgreSQL geometry; to allow GIS operations&lt;br /&gt;
|-&lt;br /&gt;
|speed_3d||float8||YES|| sqrt(d.x_speed^2 + d.y_speed^2 + d.z_speed^2)&lt;br /&gt;
|-&lt;br /&gt;
|speed_2d||float8||YES|| Speed on 2D&lt;br /&gt;
|-&lt;br /&gt;
|direction||numeric||YES|| Heading in degrees; 0 is north, 90 is east&lt;br /&gt;
|-&lt;br /&gt;
|altitude_agl||float8||YES|| Reported GPS altitude MINUS terrain elevation on the coordinate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_acc_start102 ===&lt;br /&gt;
&lt;br /&gt;
Each row represents the start of a block of accelerations when a GPS fix is not available.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Added in firmware 1.0.2.7.&lt;br /&gt;
&lt;br /&gt;
This table structure has not changed with respect to our previous database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the acceleration measurement.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time to mark the start of the acceleration block.&lt;br /&gt;
|-&lt;br /&gt;
|line_counter||int4||NO||Number of lines associated with this set of accelerations.&lt;br /&gt;
|-&lt;br /&gt;
|timesynced||int2||YES||The source of the time that marks the acceleration block (0=not synced, 1=user set, 2=Gps Synced).&lt;br /&gt;
|-&lt;br /&gt;
|ascii||int4||YES||Acceleration measurement interval.&lt;br /&gt;
|-&lt;br /&gt;
|accsn||int4||YES||Number of samples (0-65536).&lt;br /&gt;
|-&lt;br /&gt;
|f||int2||YES||Acceleration sampling frequency (0=20Hz, 1=10Hz, 2=5Hz, 3=1Hz).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_acceleration101 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
This table structure has ''not'' changed with respect to our previous database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the fix. Part of the unique identifier of the GPS fix.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time of the acceleration block that this measurement belongs to.&lt;br /&gt;
|-&lt;br /&gt;
|index||int2||NO||Sorting order of the measurement within the acceleration block (each block starts at 0).&lt;br /&gt;
|-&lt;br /&gt;
|x_acceleration||int2||YES||Acceleration measured on the x (or surge) axis (range between -2666 and 2666).&lt;br /&gt;
|-&lt;br /&gt;
|y_acceleration||int2||YES||Acceleration measured on the y (or sway) axis (range between -2666 and 2666).&lt;br /&gt;
|-&lt;br /&gt;
|z_acceleration||int2||YES||Acceleration measured on the z (or heave) axis (range between -2666 and 2666).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_nest ===&lt;br /&gt;
This table holds nests' information. A nest is always for (at least) a bird with a tracker (so a track session must exist for that bird), and must contain a short name (a reference name for you to use) and a latitude and longitude pair.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique id. Primary key.&lt;br /&gt;
|-&lt;br /&gt;
|reference_name||varchar||NO||A string with a useful reference for you. We recommend its being unique for each nest in a project, but the system does NOT enforce it.&lt;br /&gt;
|-&lt;br /&gt;
|latitude||numeric||YES||Latitude of the coordinates where the nest was found (WGS1984 datum)&lt;br /&gt;
|-&lt;br /&gt;
|longitude||numeric||YES||Longitude of the coordinates where the nest was found (WGS1984 datum)&lt;br /&gt;
|-&lt;br /&gt;
|start_date_time||timestamp||NO||When the nest was spotted.&lt;br /&gt;
|-&lt;br /&gt;
|end_date_time||timestamp||NO||When the nest ceases to be relevant.&lt;br /&gt;
|-&lt;br /&gt;
|found_by_whom||varchar||YES||Place to credit people involved in finding the nest.&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Free text.&lt;br /&gt;
|-&lt;br /&gt;
|location||bytearray||YES||Calculated Geometry of the coordinates where the nest was found.&lt;br /&gt;
|-&lt;br /&gt;
|operated_date||timestamp||NO||When was this row last edited.&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||NO||Reference to a user id. Last one who edited the row.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_nest_inhabitant ===&lt;br /&gt;
This table is the materialisation of the many-to-many relation between nests and birds. The primary key of the table is the pair of both columns.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|nest_id||int8||NO||Reference to the nest id. &lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Reference to the individual id.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Relation to projects ==&lt;br /&gt;
&lt;br /&gt;
=== ''admin.''ee_membership ===&lt;br /&gt;
&lt;br /&gt;
Each row represents the fact that a user has a given role in a given project at the moment.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier. Primary key.&lt;br /&gt;
|-&lt;br /&gt;
|comments||text||YES||Free text for comments&lt;br /&gt;
|-&lt;br /&gt;
|label||text||YES||Labels that Willem wants to have for people in projects&lt;br /&gt;
|-&lt;br /&gt;
|role||varchar||NO||Role that the user holds during this period&lt;br /&gt;
|-&lt;br /&gt;
|status||varchar||NO||Status that the row holds during that period. Look at the attached file to know the allowed transitions.&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|member_user||int8||NO||Reference to the user that this membership applies to&lt;br /&gt;
|-&lt;br /&gt;
|operated_date||timestamp||NO||Date that the row was last modified&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||NO||Reference to the user who last edited this row&lt;br /&gt;
|-&lt;br /&gt;
|project||int8||NO||Reference to the project that this membership applies to&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''admin.''ee_tracker_ownership ===&lt;br /&gt;
&lt;br /&gt;
Each row represents the fact that a tracker belongs to a project within a specified time period.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier. Primary key.&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the tracker ceases to belong to the project&lt;br /&gt;
|-&lt;br /&gt;
|operated_date||timestamp||NO||Recording of the last time the row was edited&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date at which the project begins to own the tracker&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|device||int8||NO||Reference to the tracker&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||NO||Reference to the user who last edited the row&lt;br /&gt;
|-&lt;br /&gt;
|project||int8||NO||Reference to the project this tracker belongs to&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''admin.''ee_individual_ownership ===&lt;br /&gt;
&lt;br /&gt;
Each row represents the fact that an individual belongs to a project within a specified time period.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier. Primary key.&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the individual ceases to belong to the project&lt;br /&gt;
|-&lt;br /&gt;
|operated_date||timestamp||NO||Recording of the last time the row was edited&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date at which the project begins to own the individual&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|individual||int8||NO||Reference to the individual&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||NO||Reference to the user who last edited the row&lt;br /&gt;
|-&lt;br /&gt;
|project||int8||NO||Reference to the project this individual belongs to&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_tracker_sharing ===&lt;br /&gt;
&lt;br /&gt;
Each row represents the fact that a tracker's information within a specified period, can be accessed by users belonging to another project.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier. Primary key.&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the tracker information ceases to be available to the receiving project&lt;br /&gt;
|-&lt;br /&gt;
|operated_date||timestamp||NO||Recording of the last time the row was edited&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date at which the tracker information becomes available to the receiving project&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||NO||Reference to the user who last edited the row&lt;br /&gt;
|-&lt;br /&gt;
|project||int8||NO||Reference to the project that receives access to the tracker information&lt;br /&gt;
|-&lt;br /&gt;
|tracker_ownership||int8||NO||Reference to the tracker ownership by virtue of which, the tracker information is shared&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Engineering data ==&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_trackingfile_parsing ===&lt;br /&gt;
&lt;br /&gt;
Each row on this table represents the status of the last attempt to parse (process) the raw data file that came from a tracker.&lt;br /&gt;
&lt;br /&gt;
It is heavily used by the dashboard to determine how a given file is represented there.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier of the row&lt;br /&gt;
|-&lt;br /&gt;
|date_reported||date||NO||Date that the file arrived&lt;br /&gt;
|-&lt;br /&gt;
|filename||varchar||NO||Name of the file&lt;br /&gt;
|-&lt;br /&gt;
|last_modified_date||timestamp||NO||Date that the file was last modified on&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||YES||Serial number of the tracker this file comes from&lt;br /&gt;
|-&lt;br /&gt;
|filesize||int8||NO||Size of the file in KB&lt;br /&gt;
|-&lt;br /&gt;
|parsed_date||timestamp||YES||Date and time that the file was last attempted to be parsed on&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||NO||Optimistic locking field. Ignore it as a user. &lt;br /&gt;
|-&lt;br /&gt;
|last_found_date||timestamp||YES||Last time that a process that runs to look for new files saw the file&lt;br /&gt;
|-&lt;br /&gt;
|n_lines||int4||YES||Count of lines found in the file last time it was processed&lt;br /&gt;
|-&lt;br /&gt;
|n_data_lines||int4||YES||Count of actual data lines, out of the total lines&lt;br /&gt;
|-&lt;br /&gt;
|n_tracking_records||int4||YES||Count of GPS fixes found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_communication_records||int4||YES||Count of communication records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_energy_records||int4||YES||Count of energy records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_acceleration_records||int4||YES||Count of acceleration records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_acceleration_start_records||int4||YES||Count of acceleration start records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_errors||int4||YES||Count of errors encountered during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_settings_records||int4||YES||Count of settings records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|filepath||text||NO||Directory path of the file on the server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_trackingfile_messages ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||serial||NO||Unique identifier of the row&lt;br /&gt;
|-&lt;br /&gt;
|tracking_bookkeeping_id||int4||YES||Reference to the gps.uva_trackingfile_parsing row for this file&lt;br /&gt;
|-&lt;br /&gt;
|message_type||int4||YES||Code for the type of information being told by the message. &lt;br /&gt;
|-&lt;br /&gt;
|message||text||YES||Textual message from the parsing process telling what it found.&lt;br /&gt;
|-&lt;br /&gt;
|message_code||int4||YES||&lt;br /&gt;
|-&lt;br /&gt;
|line_number||int4||YES||Line in the file where the message is reported&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_warning102 ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
For example all CRC failures can be selected with : &lt;br /&gt;
&lt;br /&gt;
  select * from gps.uva_warning102 &lt;br /&gt;
  where warning = 'CRC8 failure'&lt;br /&gt;
  order by device_info_serial;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|filename||text||NO||log file name &lt;br /&gt;
|-&lt;br /&gt;
|linenumber||integer||YES||line number in file &lt;br /&gt;
|-&lt;br /&gt;
|warning||text||YES||The warning message&lt;br /&gt;
|-&lt;br /&gt;
|line||text||YES||The actual line in the file &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_comm101 ===&lt;br /&gt;
&lt;br /&gt;
Communication table indicates status and result of communications with ground stations. Only for newer firmware (v.1.0.1.4 and higher).&lt;br /&gt;
&lt;br /&gt;
This table structure has ''not'' changed with respect to our previous database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
| device_info_serial || int4 || NO || Serial number of the tracker.&lt;br /&gt;
|-&lt;br /&gt;
| date_time || timestamp || NO || timestamp of start communication&lt;br /&gt;
|-&lt;br /&gt;
| date_time_end || timestamp ||YES|| timestamp of end communication           &lt;br /&gt;
|-&lt;br /&gt;
| date_time_utc || timestamp ||YES|| date_time in utc (if available)&lt;br /&gt;
|-&lt;br /&gt;
| date_time_end_utc || timestamp ||YES|| date_time_end in utc (if available)&lt;br /&gt;
|-&lt;br /&gt;
| action || text||YES|| JOINED / RESCHEDULE  ??&lt;br /&gt;
|-&lt;br /&gt;
| bytes_communicated || int4 ||YES|| Number of bytes communicated (total of all bytes per DATA line)  &lt;br /&gt;
|-&lt;br /&gt;
|status || text ||YES|| READY, TIMEOUT, LOWPOWER, MISSING&lt;br /&gt;
|-&lt;br /&gt;
| network_join_time || int4||YES||milliseconds&lt;br /&gt;
|-&lt;br /&gt;
| number_identical_lines || int4 ||YES|| Number identical lines in data block. Gives indication &lt;br /&gt;
|-&lt;br /&gt;
| non_ascii_char || int4 ||YES|| Number of non ascii characters (indicated by question-mark ?)&lt;br /&gt;
|-&lt;br /&gt;
| sts_time || timestamp ||YES|| derived from S0 hh,mi&lt;br /&gt;
|-&lt;br /&gt;
| timesynced || int2||YES|| TimeSynced (0=not sy:wnced, 1=user set, 2=Gps Synced)&lt;br /&gt;
|-&lt;br /&gt;
|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)&lt;br /&gt;
|-&lt;br /&gt;
| vbat || float8 ||YES|| Battery voltage in V (0-~4.200V) &lt;br /&gt;
|-&lt;br /&gt;
|logb || int4 ||YES|| logged bytes, waiting for download (0-4Mbyte)&lt;br /&gt;
|-&lt;br /&gt;
| logp || int2 ||YES|| Logged percentage (units 0.1%) of memory waiting to be downloaded (0-1000)&lt;br /&gt;
|-&lt;br /&gt;
| gpsii || int4 ||YES|| GpsIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|comii || int4||YES|| ComIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|accii || int4||YES|| AcceleroIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|swddd || int4||YES|| User switches, current (0-65535) &lt;br /&gt;
|-&lt;br /&gt;
|last_gps_fix ||timestamp||YES||timestamp of last fix&lt;br /&gt;
|-&lt;br /&gt;
|latitude||float8||YES||Latitude of last fix. Decimal degrees &lt;br /&gt;
|-&lt;br /&gt;
|longitude||float8||YES||Longitude of last fix. Decimal degrees&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_energy101 ===&lt;br /&gt;
&lt;br /&gt;
Only for newer firmware.&lt;br /&gt;
&lt;br /&gt;
This table structure has not changed with respect to our previous database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Date and time of the reported data&lt;br /&gt;
|-&lt;br /&gt;
|timesynced ||int2||YES||TimeSynced (0=not synced, 1=user set, 2=Gps synced)&lt;br /&gt;
|-&lt;br /&gt;
|devicemode ||int2||YES||(0-99)&lt;br /&gt;
|-&lt;br /&gt;
|vsll ||float8||YES||Solar Voltage during charging in mV (0-~2500)&lt;br /&gt;
|-&lt;br /&gt;
|vbat ||float8||YES||Battery Voltage in V (0-~4.200)&lt;br /&gt;
|-&lt;br /&gt;
|ssw ||int2||YES|| Solar Cell Switches ... (0-255) fw1022 and up &lt;br /&gt;
|-&lt;br /&gt;
| ||||YES||extended fields if special user switch is on &lt;br /&gt;
|-&lt;br /&gt;
|vsoo ||float8||YES|| Solar voltage open in V (0-~2.500)&lt;br /&gt;
|-&lt;br /&gt;
|vdrf ||float8||YES||reference voltage Dac in V (0-~2.435)&lt;br /&gt;
|-&lt;br /&gt;
|vchr ||float8||YES||charge current voltage&lt;br /&gt;
|-&lt;br /&gt;
|g ||int2||YES|| Gps battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|c || int2||YES||Com battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|m || int2||YES||Charge Mode (0,1,2 Com battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|pressure || int4||YES|| in pascal (1mBar = 100Pa, 1pressuremeter = ~12Pa)&lt;br /&gt;
|-&lt;br /&gt;
|temperature || float8||YES|| in celcius degrees   &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_settings101 ===&lt;br /&gt;
&lt;br /&gt;
Settings are either from C0-C1-C9 lines or parsed from uplink communication lines. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
This table structure has ''not'' changed from the old database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Derived timestamp from Hh:mi fields in C0 combined with computer timestamp in JOINED line&lt;br /&gt;
|-&lt;br /&gt;
|timesynced || int2 ||YES||&lt;br /&gt;
|-&lt;br /&gt;
|timezone_time || int2 ||YES||&lt;br /&gt;
|-&lt;br /&gt;
|swddd || int4||YES|| SpecialUserSwitches &lt;br /&gt;
|-&lt;br /&gt;
|gpsnavmode || int2||YES|| GpsNavMode 0-8. This is the Kalman filter used for GPS navigation mode often called the &amp;quot;Dynamic platform model&amp;quot;. 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 &amp;lt; 1g acceleration, 7 = airborne with &amp;lt; 2g acceleration, 8 = airborne with &amp;lt; 4g acceleration &lt;br /&gt;
|-&lt;br /&gt;
|gpsreceivermode || int2 ||YES|| GpsReceiverNode 0-3&lt;br /&gt;
|-&lt;br /&gt;
|gpsfixtime || int2||YES|| GpsFixTime 0-255&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln_on_h || int2||YES|| hours Gps IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln_on_m || int2||YES|| minutes Gps IvalN on &lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln  || int4||YES|| GpsIvalN (0-65530)&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale_on_h || int2||YES|| hours Gps IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale_on_m || int2||YES|| minutes GpS IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale  || int4||YES|| GpsIvalE &lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln_on_h || int2||YES|| hours Com IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln_on_m || int2||YES|| minutes Com IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln || int4||YES|| ComIvalN (0-65530)&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale_on_h || int2||YES|| hours Com IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale_on_m || int2||YES|| minutes Com IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale || int4||YES|| ComIvalE&lt;br /&gt;
|-&lt;br /&gt;
|accii || int4||YES|| Accelero measurement interval         &lt;br /&gt;
|-&lt;br /&gt;
|accbn || int4||YES|| Accelero number of blocks &lt;br /&gt;
|-&lt;br /&gt;
|accsn || int4||YES|| Accelero number of samples (0-65536)&lt;br /&gt;
|-&lt;br /&gt;
|f || int2||YES||Accelero sample frequency  (0=20Hz, 1=10Hz, 2=5Hz, 3=1Hz)&lt;br /&gt;
|-&lt;br /&gt;
|pdp || int2||YES|| PdopMsk (3-250)&lt;br /&gt;
|-&lt;br /&gt;
|pac||int2||YES|| PaccMsk (10-100)&lt;br /&gt;
|-&lt;br /&gt;
|tdp ||int2||YES|| TdopMsk (3-250)&lt;br /&gt;
|-&lt;br /&gt;
|tac ||int2||YES|| TaccMsk (30-300)&lt;br /&gt;
|-&lt;br /&gt;
|ga || int2||YES|| Additional Fixes GpsIval mode (3-25) before interval fix is logged&lt;br /&gt;
|-&lt;br /&gt;
|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 &amp;lt; level - 5&lt;br /&gt;
|-&lt;br /&gt;
|eventnum || text||YES|| 12 eventnumbers (0-0xff) only printed if not zero, therfore converted to text&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=DB_Tables_2015&amp;diff=1433</id>
		<title>DB Tables 2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=DB_Tables_2015&amp;diff=1433"/>
				<updated>2021-01-22T09:31:41Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* gps.uva_tracking_data101 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Note:''' What follows is a list of tables and explanations intended for the database maintainers or otherwise people actively involved in the development of the e-Ecology system itself. Most e-Ecology users should focus on the documentation on the [[UvA-BiTS_Tracking_Data|UvA-BiTS Tracking Data page]]. This page is intended as a reference only.&lt;br /&gt;
&lt;br /&gt;
The database is split into two useful 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 e-Ecology administrators. &lt;br /&gt;
&lt;br /&gt;
== ''Source'' data ==&lt;br /&gt;
&lt;br /&gt;
=== ''admin.''ee_project_limited ===&lt;br /&gt;
Each row represents a project.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier. Primary key&lt;br /&gt;
|-&lt;br /&gt;
|description||text||YES||String for free description. Updatable by the user.&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the project is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||Unique key name, of the form species_place&lt;br /&gt;
|-&lt;br /&gt;
|lft||int8||NO||&amp;quot;Modified preorder tree traversal&amp;quot; field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|rgt||int8||NO||&amp;quot;Modified preorder tree traversal&amp;quot; field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Project start date&lt;br /&gt;
|-&lt;br /&gt;
|station_name||varchar||NO||Where the receiving station is&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||NO||Reference to the user who last edited the project&lt;br /&gt;
|-&lt;br /&gt;
|parent||int8||YES||Reference to the parent project. Only the root project has no parent.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''admin.''ee_user ===&lt;br /&gt;
&lt;br /&gt;
Each row represents a user.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
||id||int8||NO||Unique identifier. Primary key&lt;br /&gt;
|-&lt;br /&gt;
||address||varchar||YES||String for postal address&lt;br /&gt;
|-&lt;br /&gt;
|email||varchar||NO||e-mail address&lt;br /&gt;
|-&lt;br /&gt;
|encrypted_password||varchar||NO||Encrypted password&lt;br /&gt;
|-&lt;br /&gt;
|login_name||varchar||NO||Login name&lt;br /&gt;
|-&lt;br /&gt;
|mobile_phone||varchar||YES||String for mobile phone number&lt;br /&gt;
|-&lt;br /&gt;
|name||varchar||NO||(first) name&lt;br /&gt;
|-&lt;br /&gt;
|surname||varchar||NO||Surname&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||YES||Id of the user who last edited this user's data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.'' ee_tracker ===&lt;br /&gt;
&lt;br /&gt;
Each row represents a tracker.&lt;br /&gt;
&lt;br /&gt;
This table replaces the old gps.uva_device.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier. Primary key.&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the device is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|firmware_version||varchar||YES||String for firmware version&lt;br /&gt;
|-&lt;br /&gt;
|mass||numeric(4,2)||YES||Mass (in grams)&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date before which the device is not relevant&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|x_o||numeric(30,6)||YES||Accelerometer calibration: offset on the x (surge) axis&lt;br /&gt;
|-&lt;br /&gt;
|x_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the x (surge) axis&lt;br /&gt;
|-&lt;br /&gt;
|y_o||numeric(30,6)||YES||Accelerometer calibration: offset on the y (sway) axis&lt;br /&gt;
|-&lt;br /&gt;
|y_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the y (sway) axis&lt;br /&gt;
|-&lt;br /&gt;
|z_o||numeric(30,6)||YES||Accelerometer calibration: offset on the z (heave) axis&lt;br /&gt;
|-&lt;br /&gt;
|z_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the y (heave) axis&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_individual ===&lt;br /&gt;
&lt;br /&gt;
Each row represents a bird.&lt;br /&gt;
&lt;br /&gt;
This table replaces gps.uva_individual from the old database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier. Primary key.&lt;br /&gt;
|-&lt;br /&gt;
|colour_ring||varchar||YES||String for ring colour&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the bird is no longer relevant&lt;br /&gt;
|-&lt;br /&gt;
|mass||numeric(5,0)||YES||Mass (grams)&lt;br /&gt;
|-&lt;br /&gt;
|operated_date||timestamp||NO||Recording of the last time the row was edited&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Text for user remarks&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||Ring number&lt;br /&gt;
|-&lt;br /&gt;
|sex||varchar||NO||Sex&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date before which the bird is not relevant&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as user.&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||NO||Reference to the user who last edited the row&lt;br /&gt;
|-&lt;br /&gt;
|species||int8||NO||Reference to the species&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_track_session ===&lt;br /&gt;
&lt;br /&gt;
Each row represents a track session. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier. Primary key.&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the track session is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|operated_date||timestamp||NO||Recording of the last time the row was edited&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Free text for comments&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date before which the track session is not relevant&lt;br /&gt;
|-&lt;br /&gt;
|start_latitude||numeric(11,8)||NO||Latitude where the bird was tagged&lt;br /&gt;
|-&lt;br /&gt;
|start_longitude||numeric(11,8)||NO||Longitude where the bird was tagged&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|device||int8||NO||Reference to the tracker&lt;br /&gt;
|-&lt;br /&gt;
|individual||int8||NO||Reference to the individual&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||NO||Reference to the user who last edited the row&lt;br /&gt;
|-&lt;br /&gt;
|project||int8||NO||Reference to the project this track session belongs to&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Tracking data ==&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_tracking_data101 ===&lt;br /&gt;
&lt;br /&gt;
Each row represents a GPS fix as it is interpreted from the data that comes via the GPS tracker. &lt;br /&gt;
&lt;br /&gt;
This table structure has ''not'' changed with respect to our previous database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the fix. Part of the unique identifier of the GPS fix.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time when the fix was taken. UTC (i.e.: no timezone). Part of the unique identifier of the GPS fix. &lt;br /&gt;
|-&lt;br /&gt;
|latitude||float8||YES||Latitude of the GPS fix (WGS1984 datum)&lt;br /&gt;
|-&lt;br /&gt;
|longitude||float8||YES||Longitude of the GPS fix (WGS1984 datum)&lt;br /&gt;
|-&lt;br /&gt;
|altitude||int4||YES||Altitude above sea level measured by GPS tag in meters (WGS1984 datum)&lt;br /&gt;
|-&lt;br /&gt;
|pressure||int4||YES||Pressure measured by GPS tag sensor in Pascals&lt;br /&gt;
|-&lt;br /&gt;
|temperature||float8||YES||Temperature measured by GPS tag sensor in Celsius&lt;br /&gt;
|-&lt;br /&gt;
|h_accuracy||float8||YES||Horizontal accuracy (meters)&lt;br /&gt;
|-&lt;br /&gt;
|v_accuracy||float8||YES||vertical accuracy (meters)&lt;br /&gt;
|-&lt;br /&gt;
|x_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|y_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|z_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|gps_fixtime||float8||YES||GPS fix time (also known as Time to Fix) in seconds&lt;br /&gt;
|-&lt;br /&gt;
|userflag||int4||YES||Acceptable = 0; Data flagged as unacceptable by user if not equal to 0.&lt;br /&gt;
|-&lt;br /&gt;
|satellites_used||int2||YES||Number of satellites used for fix the GPS measurement&lt;br /&gt;
|-&lt;br /&gt;
|positiondop||float8||YES||Positional DOP (Dilution of Precision), unitless&lt;br /&gt;
|-&lt;br /&gt;
|speed_accuracy||float8||YES||&lt;br /&gt;
|-&lt;br /&gt;
|location||geometry||YES||postgreSQL geometry; to allow GIS operations&lt;br /&gt;
|-&lt;br /&gt;
|speed_3d||float8||YES|| sqrt(d.x_speed^2 + d.y_speed^2 + d.z_speed^2)&lt;br /&gt;
|-&lt;br /&gt;
|speed_2d||float8||YES|| Speed on 2D&lt;br /&gt;
|-&lt;br /&gt;
|direction||numeric||YES|| Heading in degrees; 0 is north, 90 is east&lt;br /&gt;
|-&lt;br /&gt;
|altitude_agl||float8||YES|| Reported GPS altitude MINUS terrain elevation on the coordinate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_acc_start102 ===&lt;br /&gt;
&lt;br /&gt;
Each row represents the start of a block of accelerations when a GPS fix is not available.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Added in firmware 1.0.2.7.&lt;br /&gt;
&lt;br /&gt;
This table structure has not changed with respect to our previous database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the acceleration measurement.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time to mark the start of the acceleration block.&lt;br /&gt;
|-&lt;br /&gt;
|line_counter||int4||NO||Number of lines associated with this set of accelerations.&lt;br /&gt;
|-&lt;br /&gt;
|timesynced||int2||YES||The source of the time that marks the acceleration block (0=not synced, 1=user set, 2=Gps Synced).&lt;br /&gt;
|-&lt;br /&gt;
|ascii||int4||YES||Acceleration measurement interval.&lt;br /&gt;
|-&lt;br /&gt;
|accsn||int4||YES||Number of samples (0-65536).&lt;br /&gt;
|-&lt;br /&gt;
|f||int2||YES||Acceleration sampling frequency (0=20Hz, 1=10Hz, 2=5Hz, 3=1Hz).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_acceleration101 ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
This table structure has ''not'' changed with respect to our previous database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the fix. Part of the unique identifier of the GPS fix.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time of the acceleration block that this measurement belongs to.&lt;br /&gt;
|-&lt;br /&gt;
|index||int2||NO||Sorting order of the measurement within the acceleration block (each block starts at 0).&lt;br /&gt;
|-&lt;br /&gt;
|x_acceleration||int2||YES||Acceleration measured on the x (or surge) axis (range between -2666 and 2666).&lt;br /&gt;
|-&lt;br /&gt;
|y_acceleration||int2||YES||Acceleration measured on the y (or sway) axis (range between -2666 and 2666).&lt;br /&gt;
|-&lt;br /&gt;
|z_acceleration||int2||YES||Acceleration measured on the z (or heave) axis (range between -2666 and 2666).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_nest ===&lt;br /&gt;
This table holds nests' information. A nest is always for (at least) a bird with a tracker (so a track session must exist for that bird), and must contain a short name (a reference name for you to use) and a latitude and longitude pair.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique id. Primary key.&lt;br /&gt;
|-&lt;br /&gt;
|reference_name||varchar||NO||A string with a useful reference for you. We recommend its being unique for each nest in a project, but the system does NOT enforce it.&lt;br /&gt;
|-&lt;br /&gt;
|latitude||numeric||YES||Latitude of the coordinates where the nest was found.&lt;br /&gt;
|-&lt;br /&gt;
|longitude||numeric||YES||Longitude of the coordinates where the nest was found.&lt;br /&gt;
|-&lt;br /&gt;
|start_date_time||timestamp||NO||When the nest was spotted.&lt;br /&gt;
|-&lt;br /&gt;
|end_date_time||timestamp||NO||When the nest ceases to be relevant.&lt;br /&gt;
|-&lt;br /&gt;
|found_by_whom||varchar||YES||Place to credit people involved in finding the nest.&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Free text.&lt;br /&gt;
|-&lt;br /&gt;
|location||bytearray||YES||Calculated Geometry of the coordinates where the nest was found.&lt;br /&gt;
|-&lt;br /&gt;
|operated_date||timestamp||NO||When was this row last edited.&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||NO||Reference to a user id. Last one who edited the row.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_nest_inhabitant ===&lt;br /&gt;
This table is the materialisation of the many-to-many relation between nests and birds. The primary key of the table is the pair of both columns.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|nest_id||int8||NO||Reference to the nest id. &lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Reference to the individual id.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Relation to projects ==&lt;br /&gt;
&lt;br /&gt;
=== ''admin.''ee_membership ===&lt;br /&gt;
&lt;br /&gt;
Each row represents the fact that a user has a given role in a given project at the moment.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier. Primary key.&lt;br /&gt;
|-&lt;br /&gt;
|comments||text||YES||Free text for comments&lt;br /&gt;
|-&lt;br /&gt;
|label||text||YES||Labels that Willem wants to have for people in projects&lt;br /&gt;
|-&lt;br /&gt;
|role||varchar||NO||Role that the user holds during this period&lt;br /&gt;
|-&lt;br /&gt;
|status||varchar||NO||Status that the row holds during that period. Look at the attached file to know the allowed transitions.&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|member_user||int8||NO||Reference to the user that this membership applies to&lt;br /&gt;
|-&lt;br /&gt;
|operated_date||timestamp||NO||Date that the row was last modified&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||NO||Reference to the user who last edited this row&lt;br /&gt;
|-&lt;br /&gt;
|project||int8||NO||Reference to the project that this membership applies to&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''admin.''ee_tracker_ownership ===&lt;br /&gt;
&lt;br /&gt;
Each row represents the fact that a tracker belongs to a project within a specified time period.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier. Primary key.&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the tracker ceases to belong to the project&lt;br /&gt;
|-&lt;br /&gt;
|operated_date||timestamp||NO||Recording of the last time the row was edited&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date at which the project begins to own the tracker&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|device||int8||NO||Reference to the tracker&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||NO||Reference to the user who last edited the row&lt;br /&gt;
|-&lt;br /&gt;
|project||int8||NO||Reference to the project this tracker belongs to&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''admin.''ee_individual_ownership ===&lt;br /&gt;
&lt;br /&gt;
Each row represents the fact that an individual belongs to a project within a specified time period.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier. Primary key.&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the individual ceases to belong to the project&lt;br /&gt;
|-&lt;br /&gt;
|operated_date||timestamp||NO||Recording of the last time the row was edited&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date at which the project begins to own the individual&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|individual||int8||NO||Reference to the individual&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||NO||Reference to the user who last edited the row&lt;br /&gt;
|-&lt;br /&gt;
|project||int8||NO||Reference to the project this individual belongs to&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_tracker_sharing ===&lt;br /&gt;
&lt;br /&gt;
Each row represents the fact that a tracker's information within a specified period, can be accessed by users belonging to another project.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier. Primary key.&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the tracker information ceases to be available to the receiving project&lt;br /&gt;
|-&lt;br /&gt;
|operated_date||timestamp||NO||Recording of the last time the row was edited&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date at which the tracker information becomes available to the receiving project&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||YES||Optimistic locking field. Ignore it as a user.&lt;br /&gt;
|-&lt;br /&gt;
|operator_user||int8||NO||Reference to the user who last edited the row&lt;br /&gt;
|-&lt;br /&gt;
|project||int8||NO||Reference to the project that receives access to the tracker information&lt;br /&gt;
|-&lt;br /&gt;
|tracker_ownership||int8||NO||Reference to the tracker ownership by virtue of which, the tracker information is shared&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Engineering data ==&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_trackingfile_parsing ===&lt;br /&gt;
&lt;br /&gt;
Each row on this table represents the status of the last attempt to parse (process) the raw data file that came from a tracker.&lt;br /&gt;
&lt;br /&gt;
It is heavily used by the dashboard to determine how a given file is represented there.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier of the row&lt;br /&gt;
|-&lt;br /&gt;
|date_reported||date||NO||Date that the file arrived&lt;br /&gt;
|-&lt;br /&gt;
|filename||varchar||NO||Name of the file&lt;br /&gt;
|-&lt;br /&gt;
|last_modified_date||timestamp||NO||Date that the file was last modified on&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||YES||Serial number of the tracker this file comes from&lt;br /&gt;
|-&lt;br /&gt;
|filesize||int8||NO||Size of the file in KB&lt;br /&gt;
|-&lt;br /&gt;
|parsed_date||timestamp||YES||Date and time that the file was last attempted to be parsed on&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||NO||Optimistic locking field. Ignore it as a user. &lt;br /&gt;
|-&lt;br /&gt;
|last_found_date||timestamp||YES||Last time that a process that runs to look for new files saw the file&lt;br /&gt;
|-&lt;br /&gt;
|n_lines||int4||YES||Count of lines found in the file last time it was processed&lt;br /&gt;
|-&lt;br /&gt;
|n_data_lines||int4||YES||Count of actual data lines, out of the total lines&lt;br /&gt;
|-&lt;br /&gt;
|n_tracking_records||int4||YES||Count of GPS fixes found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_communication_records||int4||YES||Count of communication records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_energy_records||int4||YES||Count of energy records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_acceleration_records||int4||YES||Count of acceleration records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_acceleration_start_records||int4||YES||Count of acceleration start records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_errors||int4||YES||Count of errors encountered during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_settings_records||int4||YES||Count of settings records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|filepath||text||NO||Directory path of the file on the server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_trackingfile_messages ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||serial||NO||Unique identifier of the row&lt;br /&gt;
|-&lt;br /&gt;
|tracking_bookkeeping_id||int4||YES||Reference to the gps.uva_trackingfile_parsing row for this file&lt;br /&gt;
|-&lt;br /&gt;
|message_type||int4||YES||Code for the type of information being told by the message. &lt;br /&gt;
|-&lt;br /&gt;
|message||text||YES||Textual message from the parsing process telling what it found.&lt;br /&gt;
|-&lt;br /&gt;
|message_code||int4||YES||&lt;br /&gt;
|-&lt;br /&gt;
|line_number||int4||YES||Line in the file where the message is reported&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_warning102 ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
For example all CRC failures can be selected with : &lt;br /&gt;
&lt;br /&gt;
  select * from gps.uva_warning102 &lt;br /&gt;
  where warning = 'CRC8 failure'&lt;br /&gt;
  order by device_info_serial;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|filename||text||NO||log file name &lt;br /&gt;
|-&lt;br /&gt;
|linenumber||integer||YES||line number in file &lt;br /&gt;
|-&lt;br /&gt;
|warning||text||YES||The warning message&lt;br /&gt;
|-&lt;br /&gt;
|line||text||YES||The actual line in the file &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_comm101 ===&lt;br /&gt;
&lt;br /&gt;
Communication table indicates status and result of communications with ground stations. Only for newer firmware (v.1.0.1.4 and higher).&lt;br /&gt;
&lt;br /&gt;
This table structure has ''not'' changed with respect to our previous database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
| device_info_serial || int4 || NO || Serial number of the tracker.&lt;br /&gt;
|-&lt;br /&gt;
| date_time || timestamp || NO || timestamp of start communication&lt;br /&gt;
|-&lt;br /&gt;
| date_time_end || timestamp ||YES|| timestamp of end communication           &lt;br /&gt;
|-&lt;br /&gt;
| date_time_utc || timestamp ||YES|| date_time in utc (if available)&lt;br /&gt;
|-&lt;br /&gt;
| date_time_end_utc || timestamp ||YES|| date_time_end in utc (if available)&lt;br /&gt;
|-&lt;br /&gt;
| action || text||YES|| JOINED / RESCHEDULE  ??&lt;br /&gt;
|-&lt;br /&gt;
| bytes_communicated || int4 ||YES|| Number of bytes communicated (total of all bytes per DATA line)  &lt;br /&gt;
|-&lt;br /&gt;
|status || text ||YES|| READY, TIMEOUT, LOWPOWER, MISSING&lt;br /&gt;
|-&lt;br /&gt;
| network_join_time || int4||YES||milliseconds&lt;br /&gt;
|-&lt;br /&gt;
| number_identical_lines || int4 ||YES|| Number identical lines in data block. Gives indication &lt;br /&gt;
|-&lt;br /&gt;
| non_ascii_char || int4 ||YES|| Number of non ascii characters (indicated by question-mark ?)&lt;br /&gt;
|-&lt;br /&gt;
| sts_time || timestamp ||YES|| derived from S0 hh,mi&lt;br /&gt;
|-&lt;br /&gt;
| timesynced || int2||YES|| TimeSynced (0=not sy:wnced, 1=user set, 2=Gps Synced)&lt;br /&gt;
|-&lt;br /&gt;
|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)&lt;br /&gt;
|-&lt;br /&gt;
| vbat || float8 ||YES|| Battery voltage in V (0-~4.200V) &lt;br /&gt;
|-&lt;br /&gt;
|logb || int4 ||YES|| logged bytes, waiting for download (0-4Mbyte)&lt;br /&gt;
|-&lt;br /&gt;
| logp || int2 ||YES|| Logged percentage (units 0.1%) of memory waiting to be downloaded (0-1000)&lt;br /&gt;
|-&lt;br /&gt;
| gpsii || int4 ||YES|| GpsIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|comii || int4||YES|| ComIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|accii || int4||YES|| AcceleroIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|swddd || int4||YES|| User switches, current (0-65535) &lt;br /&gt;
|-&lt;br /&gt;
|last_gps_fix ||timestamp||YES||timestamp of last fix&lt;br /&gt;
|-&lt;br /&gt;
|latitude||float8||YES||Latitude of last fix. Decimal degrees &lt;br /&gt;
|-&lt;br /&gt;
|longitude||float8||YES||Longitude of last fix. Decimal degrees&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_energy101 ===&lt;br /&gt;
&lt;br /&gt;
Only for newer firmware.&lt;br /&gt;
&lt;br /&gt;
This table structure has not changed with respect to our previous database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Date and time of the reported data&lt;br /&gt;
|-&lt;br /&gt;
|timesynced ||int2||YES||TimeSynced (0=not synced, 1=user set, 2=Gps synced)&lt;br /&gt;
|-&lt;br /&gt;
|devicemode ||int2||YES||(0-99)&lt;br /&gt;
|-&lt;br /&gt;
|vsll ||float8||YES||Solar Voltage during charging in mV (0-~2500)&lt;br /&gt;
|-&lt;br /&gt;
|vbat ||float8||YES||Battery Voltage in V (0-~4.200)&lt;br /&gt;
|-&lt;br /&gt;
|ssw ||int2||YES|| Solar Cell Switches ... (0-255) fw1022 and up &lt;br /&gt;
|-&lt;br /&gt;
| ||||YES||extended fields if special user switch is on &lt;br /&gt;
|-&lt;br /&gt;
|vsoo ||float8||YES|| Solar voltage open in V (0-~2.500)&lt;br /&gt;
|-&lt;br /&gt;
|vdrf ||float8||YES||reference voltage Dac in V (0-~2.435)&lt;br /&gt;
|-&lt;br /&gt;
|vchr ||float8||YES||charge current voltage&lt;br /&gt;
|-&lt;br /&gt;
|g ||int2||YES|| Gps battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|c || int2||YES||Com battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|m || int2||YES||Charge Mode (0,1,2 Com battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|pressure || int4||YES|| in pascal (1mBar = 100Pa, 1pressuremeter = ~12Pa)&lt;br /&gt;
|-&lt;br /&gt;
|temperature || float8||YES|| in celcius degrees   &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''uva_settings101 ===&lt;br /&gt;
&lt;br /&gt;
Settings are either from C0-C1-C9 lines or parsed from uplink communication lines. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
This table structure has ''not'' changed from the old database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Derived timestamp from Hh:mi fields in C0 combined with computer timestamp in JOINED line&lt;br /&gt;
|-&lt;br /&gt;
|timesynced || int2 ||YES||&lt;br /&gt;
|-&lt;br /&gt;
|timezone_time || int2 ||YES||&lt;br /&gt;
|-&lt;br /&gt;
|swddd || int4||YES|| SpecialUserSwitches &lt;br /&gt;
|-&lt;br /&gt;
|gpsnavmode || int2||YES|| GpsNavMode 0-8. This is the Kalman filter used for GPS navigation mode often called the &amp;quot;Dynamic platform model&amp;quot;. 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 &amp;lt; 1g acceleration, 7 = airborne with &amp;lt; 2g acceleration, 8 = airborne with &amp;lt; 4g acceleration &lt;br /&gt;
|-&lt;br /&gt;
|gpsreceivermode || int2 ||YES|| GpsReceiverNode 0-3&lt;br /&gt;
|-&lt;br /&gt;
|gpsfixtime || int2||YES|| GpsFixTime 0-255&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln_on_h || int2||YES|| hours Gps IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln_on_m || int2||YES|| minutes Gps IvalN on &lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln  || int4||YES|| GpsIvalN (0-65530)&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale_on_h || int2||YES|| hours Gps IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale_on_m || int2||YES|| minutes GpS IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale  || int4||YES|| GpsIvalE &lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln_on_h || int2||YES|| hours Com IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln_on_m || int2||YES|| minutes Com IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln || int4||YES|| ComIvalN (0-65530)&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale_on_h || int2||YES|| hours Com IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale_on_m || int2||YES|| minutes Com IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale || int4||YES|| ComIvalE&lt;br /&gt;
|-&lt;br /&gt;
|accii || int4||YES|| Accelero measurement interval         &lt;br /&gt;
|-&lt;br /&gt;
|accbn || int4||YES|| Accelero number of blocks &lt;br /&gt;
|-&lt;br /&gt;
|accsn || int4||YES|| Accelero number of samples (0-65536)&lt;br /&gt;
|-&lt;br /&gt;
|f || int2||YES||Accelero sample frequency  (0=20Hz, 1=10Hz, 2=5Hz, 3=1Hz)&lt;br /&gt;
|-&lt;br /&gt;
|pdp || int2||YES|| PdopMsk (3-250)&lt;br /&gt;
|-&lt;br /&gt;
|pac||int2||YES|| PaccMsk (10-100)&lt;br /&gt;
|-&lt;br /&gt;
|tdp ||int2||YES|| TdopMsk (3-250)&lt;br /&gt;
|-&lt;br /&gt;
|tac ||int2||YES|| TaccMsk (30-300)&lt;br /&gt;
|-&lt;br /&gt;
|ga || int2||YES|| Additional Fixes GpsIval mode (3-25) before interval fix is logged&lt;br /&gt;
|-&lt;br /&gt;
|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 &amp;lt; level - 5&lt;br /&gt;
|-&lt;br /&gt;
|eventnum || text||YES|| 12 eventnumbers (0-0xff) only printed if not zero, therfore converted to text&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=UvA-BiTS_Tracking_Data&amp;diff=1432</id>
		<title>UvA-BiTS Tracking Data</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=UvA-BiTS_Tracking_Data&amp;diff=1432"/>
				<updated>2021-01-22T09:06:49Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* gps.ee_tracking_speed_limited */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== UvA-BiTS Tracking Data ==&lt;br /&gt;
&lt;br /&gt;
'''Note:''' These views will show no rows for trackers not yet attached to birds.&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_tracking_speed_limited ===&lt;br /&gt;
&lt;br /&gt;
Shows the tracking data that your projects allow you to see. &lt;br /&gt;
&lt;br /&gt;
Each row represents a GPS fix as it is interpreted from the data that comes via the GPS tracker, plus it adds speeds. See [[Reference systems for GPS coordinates and altitudes]] for further details.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the fix. Part of the unique identifier of the GPS fix.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time when the fix was taken. UTC (i.e.: no timezone). Part of the unique identifier of the GPS fix. &lt;br /&gt;
|-&lt;br /&gt;
|latitude||float8||YES||Latitude of the GPS fix, decimal degrees (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|longitude||float8||YES||Longitude of the GPS fix, decimal degrees (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|altitude||int4||YES||Altitude above sea level measured by GPS tag in meters (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|pressure||int4||YES||Pressure measured by GPS tag sensor in Pascals&lt;br /&gt;
|-&lt;br /&gt;
|temperature||float8||YES||Temperature measured by GPS tag sensor in Celsius&lt;br /&gt;
|-&lt;br /&gt;
|h_accuracy||float8||YES||Horizontal accuracy (meters)&lt;br /&gt;
|-&lt;br /&gt;
|v_accuracy||float8||YES||vertical accuracy (meters)&lt;br /&gt;
|-&lt;br /&gt;
|x_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|y_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|z_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|gps_fixtime||float8||YES||GPS fix time (also known as Time to Fix) in seconds&lt;br /&gt;
|-&lt;br /&gt;
|userflag||int4||YES||Acceptable = 0; Data flagged as unacceptable by user if not equal to 0.&lt;br /&gt;
|-&lt;br /&gt;
|satellites_used||int2||YES||Number of satellites used for fix the GPS measurement&lt;br /&gt;
|-&lt;br /&gt;
|positiondop||float8||YES||Positional DOP (Dilution of Precision), unitless&lt;br /&gt;
|-&lt;br /&gt;
|speed_accuracy||float8||YES||&lt;br /&gt;
|-&lt;br /&gt;
|location||geometry||YES||postgreSQL geometry; to allow GIS operations&lt;br /&gt;
|-&lt;br /&gt;
|vnorth||float8||YES||- vx * sin(lat) * cos(long) - vy * sin(lat) * sin (long) + vz * cos(lat), m/s&lt;br /&gt;
|-&lt;br /&gt;
|veast||float8||YES||- vx * sin(lon) + vy * cos(lon), m/s&lt;br /&gt;
|-&lt;br /&gt;
|vdown||float8||YES||- vx * cos(lat) * cos(lon) - vy * cos(lat) * sin(lon) - vz * sin(lat), m/s&lt;br /&gt;
|-&lt;br /&gt;
|speed||float8||YES||- vx * sin(lon) + vy * cos(lon)&lt;br /&gt;
|-&lt;br /&gt;
|speed_3d||float8||YES|| sqrt(d.x_speed^2 + d.y_speed^2 + d.z_speed^2), m/s&lt;br /&gt;
|-&lt;br /&gt;
|speed_2d||float8||YES|| Speed on 2D, m/s&lt;br /&gt;
|-&lt;br /&gt;
|direction||numeric||YES|| Heading in degrees; 0 is north, 90 is east&lt;br /&gt;
|-&lt;br /&gt;
|altitude_agl||float8||YES|| Reported GPS altitude MINUS terrain elevation on the coordinate based on Digital Elevation Model data used in the e-ecology database (for further information see: [[Elevation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_acceleration_limited ===&lt;br /&gt;
&lt;br /&gt;
Acceleration is measured in blocks of 1-200 measurements (records). The date_time  mentioned in this block is the date and time of the first acceleration measurement. Sequential measurements within a block are numbered with an index 1... (max 200). Every row represents one measurement in 3 directions (X,Y,Z). The order is important within each block, so you should always sort the acceleration measurements by block and index. If you need the exact time for each row, you can calculate it from the index, the sample frequency (which is almost always 20 Hz) and the date_time of the first row in the block.&lt;br /&gt;
&lt;br /&gt;
The date_time of the first block is the time of the GPS measurement preceding the accelerometer measurement. If there is no valid GPS measurement, this time is calculated from the last GPS measurement and the time of the internal clock of the tracker.&lt;br /&gt;
&lt;br /&gt;
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 in gps.ee_tracking_speed_limited for the given tracker, column date_time on gps.ee_acc_start_limited, and all the values on column date_time for that tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This table structure has ''not'' changed with respect to our previous database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the fix. Part of the unique identifier of the GPS fix.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time of the acceleration block that this measurement belongs to (time in UTC, no time zone).&lt;br /&gt;
|-&lt;br /&gt;
|index||int2||NO||Sorting order of the measurement within the acceleration block (each block starts at 0).&lt;br /&gt;
|-&lt;br /&gt;
|x_acceleration||int2||YES||Acceleration measured on the x (or surge) axis (range between -2666 and 2666).&lt;br /&gt;
|-&lt;br /&gt;
|y_acceleration||int2||YES||Acceleration measured on the y (or sway) axis (range between -2666 and 2666).&lt;br /&gt;
|-&lt;br /&gt;
|z_acceleration||int2||YES||Acceleration measured on the z (or heave) axis (range between -2666 and 2666).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_acc_start_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row represents the start of a block of acceleration measurements when a GPS fix is not available at that acceleration block's time. &lt;br /&gt;
&lt;br /&gt;
If there is no valid GPS measurement, this time is calculated from the last GPS measurement and the time of the internal clock of the tracker.&lt;br /&gt;
 &lt;br /&gt;
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 gps.ee_tracking_speed_limited for the given tracker, column date_time on gps.ee_acc_start_limited, 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. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Added in firmware 1.0.2.7.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the acceleration measurement.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time to mark the start of the acceleration block.&lt;br /&gt;
|-&lt;br /&gt;
|line_counter||int4||NO||Number of lines associated with this set of accelerations.&lt;br /&gt;
|-&lt;br /&gt;
|timesynced||int2||YES||The source of the time that marks the acceleration block (0=not synced, 1=user set, 2=Gps Synced).&lt;br /&gt;
|-&lt;br /&gt;
|ascii||int4||YES||Acceleration measurement interval.&lt;br /&gt;
|-&lt;br /&gt;
|accsn||int4||YES||Number of samples (0-65536).&lt;br /&gt;
|-&lt;br /&gt;
|f||int2||YES||Acceleration sampling frequency (0=20Hz, 1=10Hz, 2=5Hz, 3=1Hz).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bird data ==&lt;br /&gt;
=== ''gps.''ee_individual_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows bird's details for all birds that your projects allow you to see.&lt;br /&gt;
&lt;br /&gt;
This view replaces the old gps.uva_individual_limited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||Ring number.&lt;br /&gt;
|-&lt;br /&gt;
|species_latin_name||varchar||NO||Latin name of the species of the bird.&lt;br /&gt;
|-&lt;br /&gt;
|colour_ring||varchar||YES||String for ring colour.&lt;br /&gt;
|-&lt;br /&gt;
|sex||varchar||NO||Sex (M=male, F=female, X=unknown/unspecified)&lt;br /&gt;
|-&lt;br /&gt;
|mass||numeric(5,0)||YES||Mass (grams)&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date when the bird was first tracked with an UvA-BiTS logger.&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the bird is no longer relevant for the tracking project.&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Text for user remarks&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Bird unique id. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_species_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row represents a species that you can assign to your birds to include them in your project. No bird in the system can exist without being linked to one of the species from this list. If you are tagging a bird whose species does not exist in the list, please [http://www.uva-bits.nl/contact/ contact] us.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|abbr||varchar||NO||Unique abbreviation for this species.&lt;br /&gt;
|-&lt;br /&gt;
|english_name||varchar||YES||Name of the species in English. &lt;br /&gt;
|-&lt;br /&gt;
|latin_name||varchar||NO||Name of the species in Latin. It is always filled in.&lt;br /&gt;
|-&lt;br /&gt;
|species_id||int8||NO||Unique id. Added to allow joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_nest_limited ===&lt;br /&gt;
This view shows nests you have access to. A nest is always for a bird with a tracker (so a track session must exist for that bird), and must contain a short name (a reference name for you to use) and a latitude and longitude pair.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|reference_name||varchar||NO||A string with a useful reference for you. We recommend its being unique for each nest in a project, but the system does NOT enforce it.&lt;br /&gt;
|-&lt;br /&gt;
|latitude||numeric||YES||Latitude of the coordinates where the nest was found, decimal degrees (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|longitude||numeric||YES||Longitude of the coordinates where the nest was found, decimal degrees (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|start_date_time||timestamp||NO||When the nest was spotted.&lt;br /&gt;
|-&lt;br /&gt;
|end_date_time||timestamp||NO||When the nest ceases to be relevant.&lt;br /&gt;
|-&lt;br /&gt;
|found_by_whom||varchar||YES||Place to credit people involved in finding the nest.&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Free text.&lt;br /&gt;
|-&lt;br /&gt;
|location||bytearray||YES||Calculated Geometry of the coordinates where the nest was found.&lt;br /&gt;
|-&lt;br /&gt;
|nest_id||int8||NO||Unique id. Added to allow joins to nest_inhabitant_limited.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_nest_inhabitant_limited ===&lt;br /&gt;
This view shows who lives on which nest, for birds you have access to. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|reference_name||varchar||NO||A string belonging to the nest that you can use to identify that nest. Because it is NOT enforced to be unique, DO NOT USE THIS FIELD FOR JOINING.&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||The ring number of a bird on a nest.&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Following the link from a bird to her track sessions, and considering the nest's start and end time, the bird's trackers within that period are resolved so that they can be shown here. This is the device_info_serial of a tracker.&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||Following the link from a bird to her track sessions, and considering the nest's start and end time, the track sessions' projects within that period are resolved so that they can be shown here. This is the key_name of a project.&lt;br /&gt;
|-&lt;br /&gt;
|nest_id||int8||NO||Reference to the nest id. Added to allow joins.&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Reference to the individual id. Added to allow joins.&lt;br /&gt;
|-&lt;br /&gt;
|track_session_id||int8||NO||Reference to a resolved track session id. Added to allow joins.&lt;br /&gt;
|}&lt;br /&gt;
== Tracker and project data ==&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_project_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows the details of each project, for the projects you are allowed to see.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||Unique key name, with the form &amp;lt;species&amp;gt;_&amp;lt;place&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|station_name||varchar||NO||Where the receiving station is&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Project start date&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the project is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|description||text||YES||String for free description. Updatable by the user.&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Project unique id. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|parent_id||int8||YES||Reference to the parent project in the hierarchy.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_tracker_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows tracker details for all trackers that your projects allow you to see.&lt;br /&gt;
&lt;br /&gt;
This view replaces the old gps.uva_device_limited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|firmware_version||varchar||YES||String for firmware version&lt;br /&gt;
|-&lt;br /&gt;
|mass||numeric(4,2)||YES||Mass (in grams)&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date before which the device is not relevant&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the device is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|x_o||numeric(30,6)||YES||Accelerometer calibration: offset on the x (or surge) axis&lt;br /&gt;
|-&lt;br /&gt;
|x_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the x (or surge) axis&lt;br /&gt;
|-&lt;br /&gt;
|y_o||numeric(30,6)||YES||Accelerometer calibration: offset on the y (or sway) axis&lt;br /&gt;
|-&lt;br /&gt;
|y_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the y (or sway) axis&lt;br /&gt;
|-&lt;br /&gt;
|z_o||numeric(30,6)||YES||Accelerometer calibration: offset on the z (or heave) axis&lt;br /&gt;
|-&lt;br /&gt;
|z_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the y (or heave) axis&lt;br /&gt;
|-&lt;br /&gt;
|tracker_id||int8||NO||Tracker unique id. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_track_session_limited ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Each row shows track session's information. There exists a row for each track session that your projects allow you to see. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||The project that the track session belongs to.&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Serial number of the tracker this track session involves.&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||Ring number of the bird that this track session involves.&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date before which the track session is not relevant&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the track session is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Free text for comments&lt;br /&gt;
|-&lt;br /&gt;
|start_latitude||numeric(11,8)||NO||Latitude where the bird was tagged, decimal degrees (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|start_longitude||numeric(11,8)||NO||Longitude where the bird was tagged, decimal degrees (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Reference to the project this track session belongs to. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|tracker_id||int8||NO||Reference to the tracker this track session involves. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Reference to the individual this track session involves. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|track_session_id||int8||NO||Unique identifier of the track session. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Relation to projects ==&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_user_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows a colleague in a project that you belong to, indicating her role and status there.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||Project name&lt;br /&gt;
|-&lt;br /&gt;
|email||varchar||NO||e-mail address&lt;br /&gt;
|-&lt;br /&gt;
|login_name||varchar||NO||Login name&lt;br /&gt;
|-&lt;br /&gt;
|name||varchar||NO||(first) name&lt;br /&gt;
|-&lt;br /&gt;
|surname||varchar||NO||Surname&lt;br /&gt;
|-&lt;br /&gt;
|role||varchar||NO||Role in the project&lt;br /&gt;
|-&lt;br /&gt;
|status||varchar||NO||Status of the membership&lt;br /&gt;
|-&lt;br /&gt;
|user_id||int8||NO||Unique identifier of the user. Included to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_tracker_ownership_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row that you see expresses that a tracker belongs to one of the projects you are involved with. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||The project that the tracker belongs to.&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Serial number of the tracker.&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Reference to the project. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|tracker_id||int8||NO||Reference to the tracker. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_individual_ownership_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row that you see expresses that a bird belongs to one of the projects you are involved with. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||The project that the individual belongs to.&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||Ring number of the bird.&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Reference to the project. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Reference to the individual. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Engineering data ==&lt;br /&gt;
&lt;br /&gt;
'''Note:''' These views will show no rows for trackers not yet attached to birds.&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_comm_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row indicates status and result of communications with ground stations for each tracker that your project allows you to see. &lt;br /&gt;
&lt;br /&gt;
Only for newer firmware (v.1.0.1.4 and higher).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
| device_info_serial || int4 || NO || Serial number of the tracker.&lt;br /&gt;
|-&lt;br /&gt;
| date_time || timestamp || NO || timestamp of start communication&lt;br /&gt;
|-&lt;br /&gt;
| date_time_end || timestamp ||YES|| timestamp of end communication           &lt;br /&gt;
|-&lt;br /&gt;
| date_time_utc || timestamp ||YES|| date_time in utc (if available)&lt;br /&gt;
|-&lt;br /&gt;
| date_time_end_utc || timestamp ||YES|| date_time_end in utc (if available)&lt;br /&gt;
|-&lt;br /&gt;
| action || text||YES|| JOINED / RESCHEDULE  ??&lt;br /&gt;
|-&lt;br /&gt;
| bytes_communicated || int4 ||YES|| Number of bytes communicated (total of all bytes per DATA line)  &lt;br /&gt;
|-&lt;br /&gt;
|status || text ||YES|| READY, TIMEOUT, LOWPOWER, MISSING&lt;br /&gt;
|-&lt;br /&gt;
| network_join_time || int4||YES||milliseconds&lt;br /&gt;
|-&lt;br /&gt;
| number_identical_lines || int4 ||YES|| Number identical lines in data block. Gives indication &lt;br /&gt;
|-&lt;br /&gt;
| non_ascii_char || int4 ||YES|| Number of non ascii characters (indicated by question-mark ?)&lt;br /&gt;
|-&lt;br /&gt;
| sts_time || timestamp ||YES|| derived from S0 hh,mi&lt;br /&gt;
|-&lt;br /&gt;
| timesynced || int2||YES|| TimeSynced (0=not sy:wnced, 1=user set, 2=Gps Synced)&lt;br /&gt;
|-&lt;br /&gt;
|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)&lt;br /&gt;
|-&lt;br /&gt;
| vbat || float8 ||YES|| Battery voltage in V (0-~4.200V) &lt;br /&gt;
|-&lt;br /&gt;
|logb || int4 ||YES|| logged bytes, waiting for download (0-4Mbyte)&lt;br /&gt;
|-&lt;br /&gt;
| logp || int2 ||YES|| Logged percentage (units 0.1%) of memory waiting to be downloaded (0-1000)&lt;br /&gt;
|-&lt;br /&gt;
| gpsii || int4 ||YES|| GpsIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|comii || int4||YES|| ComIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|accii || int4||YES|| AcceleroIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|swddd || int4||YES|| User switches, current (0-65535) &lt;br /&gt;
|-&lt;br /&gt;
|last_gps_fix ||timestamp||YES||timestamp of last fix&lt;br /&gt;
|-&lt;br /&gt;
|latitude||float8||YES||Latitude of last fix. Decimal degrees &lt;br /&gt;
|-&lt;br /&gt;
|longitude||float8||YES||Longitude of last fix. Decimal degrees&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_energy_limited ===&lt;br /&gt;
&lt;br /&gt;
Only for newer firmware.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Date and time of the reported data&lt;br /&gt;
|-&lt;br /&gt;
|timesynced ||int2||YES||TimeSynced (0=not synced, 1=user set, 2=Gps synced)&lt;br /&gt;
|-&lt;br /&gt;
|devicemode ||int2||YES||(0-99)&lt;br /&gt;
|-&lt;br /&gt;
|vsll ||float8||YES||Solar Voltage during charging in mV (0-~2500)&lt;br /&gt;
|-&lt;br /&gt;
|vbat ||float8||YES||Battery Voltage in V (0-~4.200)&lt;br /&gt;
|-&lt;br /&gt;
|ssw ||int2||YES|| Solar Cell Switches ... (0-255) fw1022 and up &lt;br /&gt;
|-&lt;br /&gt;
| ||||YES||extended fields if special user switch is on &lt;br /&gt;
|-&lt;br /&gt;
|vsoo ||float8||YES|| Solar voltage open in V (0-~2.500)&lt;br /&gt;
|-&lt;br /&gt;
|vdrf ||float8||YES||reference voltage Dac in V (0-~2.435)&lt;br /&gt;
|-&lt;br /&gt;
|vchr ||float8||YES||charge current voltage&lt;br /&gt;
|-&lt;br /&gt;
|g ||int2||YES|| Gps battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|c || int2||YES||Com battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|m || int2||YES||Charge Mode (0,1,2 Com battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|pressure || int4||YES|| in pascal (1mBar = 100Pa, 1pressuremeter = ~12Pa)&lt;br /&gt;
|-&lt;br /&gt;
|temperature || float8||YES|| in celcius degrees   &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_settings_limited ===&lt;br /&gt;
&lt;br /&gt;
Settings are either from C0-C1-C9 lines or parsed from uplink communication lines. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Derived timestamp from Hh:mi fields in C0 combined with computer timestamp in JOINED line&lt;br /&gt;
|-&lt;br /&gt;
|timesynced || int2 ||YES||&lt;br /&gt;
|-&lt;br /&gt;
|timezone_time || int2 ||YES||&lt;br /&gt;
|-&lt;br /&gt;
|swddd || int4||YES|| SpecialUserSwitches &lt;br /&gt;
|-&lt;br /&gt;
|gpsnavmode || int2||YES|| GpsNavMode 0-8. This is the Kalman filter used for GPS navigation mode often called the &amp;quot;Dynamic platform model&amp;quot;. 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 &amp;lt; 1g acceleration, 7 = airborne with &amp;lt; 2g acceleration, 8 = airborne with &amp;lt; 4g acceleration &lt;br /&gt;
|-&lt;br /&gt;
|gpsreceivermode || int2 ||YES|| GpsReceiverNode 0-3&lt;br /&gt;
|-&lt;br /&gt;
|gpsfixtime || int2||YES|| GpsFixTime 0-255&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln_on_h || int2||YES|| hours Gps IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln_on_m || int2||YES|| minutes Gps IvalN on &lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln  || int4||YES|| GpsIvalN (0-65530)&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale_on_h || int2||YES|| hours Gps IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale_on_m || int2||YES|| minutes GpS IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale  || int4||YES|| GpsIvalE &lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln_on_h || int2||YES|| hours Com IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln_on_m || int2||YES|| minutes Com IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln || int4||YES|| ComIvalN (0-65530)&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale_on_h || int2||YES|| hours Com IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale_on_m || int2||YES|| minutes Com IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale || int4||YES|| ComIvalE&lt;br /&gt;
|-&lt;br /&gt;
|accii || int4||YES|| Accelero measurement interval         &lt;br /&gt;
|-&lt;br /&gt;
|accbn || int4||YES|| Accelero number of blocks &lt;br /&gt;
|-&lt;br /&gt;
|accsn || int4||YES|| Accelero number of samples (0-65536)&lt;br /&gt;
|-&lt;br /&gt;
|f || int2||YES||Accelero sample frequency  (0=20Hz, 1=10Hz, 2=5Hz, 3=1Hz)&lt;br /&gt;
|-&lt;br /&gt;
|pdp || int2||YES|| PdopMsk (3-250)&lt;br /&gt;
|-&lt;br /&gt;
|pac||int2||YES|| PaccMsk (10-100)&lt;br /&gt;
|-&lt;br /&gt;
|tdp ||int2||YES|| TdopMsk (3-250)&lt;br /&gt;
|-&lt;br /&gt;
|tac ||int2||YES|| TaccMsk (30-300)&lt;br /&gt;
|-&lt;br /&gt;
|ga || int2||YES|| Additional Fixes GpsIval mode (3-25) before interval fix is logged&lt;br /&gt;
|-&lt;br /&gt;
|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 &amp;lt; level - 5&lt;br /&gt;
|-&lt;br /&gt;
|eventnum || text||YES|| 12 eventnumbers (0-0xff) only printed if not zero, therfore converted to text&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_trackingfile_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows the status of the last attempt to parse (process) the raw data of a file for a given tracker, for each tracker that your projects allow you to see.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier of the row&lt;br /&gt;
|-&lt;br /&gt;
|date_reported||date||NO||Date that the file arrived&lt;br /&gt;
|-&lt;br /&gt;
|filename||varchar||NO||Name of the file&lt;br /&gt;
|-&lt;br /&gt;
|last_modified_date||timestamp||NO||Date that the file was last modified on&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||YES||Serial number of the tracker this file comes from&lt;br /&gt;
|-&lt;br /&gt;
|filesize||int8||NO||Size of the file in KB&lt;br /&gt;
|-&lt;br /&gt;
|parsed_date||timestamp||YES||Date and time that the file was last attempted to be parsed on&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||NO||Optimistic locking field. Ignore it as a user. &lt;br /&gt;
|-&lt;br /&gt;
|last_found_date||timestamp||YES||Last time that a process that runs to look for new files saw the file&lt;br /&gt;
|-&lt;br /&gt;
|n_lines||int4||YES||Count of lines found in the file last time it was processed&lt;br /&gt;
|-&lt;br /&gt;
|n_data_lines||int4||YES||Count of actual data lines, out of the total lines&lt;br /&gt;
|-&lt;br /&gt;
|n_tracking_records||int4||YES||Count of GPS fixes found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_communication_records||int4||YES||Count of communication records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_energy_records||int4||YES||Count of energy records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_acceleration_records||int4||YES||Count of acceleration records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_acceleration_start_records||int4||YES||Count of acceleration start records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_errors||int4||YES||Count of errors encountered during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_settings_records||int4||YES||Count of settings records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|filepath||text||NO||Directory path of the file on the server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_warning_limited ===&lt;br /&gt;
&lt;br /&gt;
Since firmware version 1.0.2.7 this table was added for events that do not occur very often (C10, C20) or errors that occur during parsing. &lt;br /&gt;
&lt;br /&gt;
For example all CRC failures can be selected with : &lt;br /&gt;
&lt;br /&gt;
  select * from gps.ee_warning_limited&lt;br /&gt;
  where warning = 'CRC8 failure'&lt;br /&gt;
  order by device_info_serial;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|filename||text||NO||File name &lt;br /&gt;
|-&lt;br /&gt;
|linenumber||integer||YES||line number in file &lt;br /&gt;
|-&lt;br /&gt;
|warning||text||YES||The warning message&lt;br /&gt;
|-&lt;br /&gt;
|line||text||YES||The actual line contents in the file &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sharings ==&lt;br /&gt;
&lt;br /&gt;
Projects can now share trackers with other projects during periods of time. This means that people in the receiving projects can access information that these shared trackers provide during those time periods. &lt;br /&gt;
&lt;br /&gt;
The following views allow you to see this shared information:&lt;br /&gt;
&lt;br /&gt;
* Tracking data&lt;br /&gt;
** ''gps.''ee_shared_tracking_speed_limited: tracking information (gps, speed), during the shared period, for trackers shared&lt;br /&gt;
** ''gps.''ee_shared_acc_start_limited: acceleration start information, during the shared period, for trackers shared&lt;br /&gt;
** ''gps.''ee_shared_acceleration_limited: acceleration information for trackers shared&lt;br /&gt;
* Metadata&lt;br /&gt;
** ''gps.''ee_shared_tracker_limited: information about each shared tracker&lt;br /&gt;
** ''gps.''ee_shared_individual_limited: information about birds with shared trackers&lt;br /&gt;
** ''gps.''ee_shared_track_session_limited: information about track sessions which involve shared trackers&lt;br /&gt;
* Relation to projects&lt;br /&gt;
** ''gps.''ee_shared_tracker_sharing_limited: view information for each sharing that your projects allow you to see&lt;br /&gt;
&lt;br /&gt;
== Accelerometer calibration ==&lt;br /&gt;
&lt;br /&gt;
The accelerometer measures the acceleration in 3D (20 times per second). Acceleration is caused by gravity (static component) and by a change in speed (dynamic component). &lt;br /&gt;
When the logger is static in horizontal position (solar cells up), gravity (green arrow) shows a  heave (vertical acceleration, z) of +1 g (1 g = 9.81 m.s&amp;lt;sup&amp;gt;-2&amp;lt;/sup&amp;gt;) while surge and heave are both 0. When the front of the logger is vertically pointing down (forward acceleration, x), surge is +1g and when it is rolled to the right (sidewards acceleration, y) sway is +1g. Due to gravity, the pitch of a logger is thus translated into the values of heave, surge and sway (or z, x, y).&lt;br /&gt;
&lt;br /&gt;
However, the values are measured in mV instead of g. Before delivering the GPS-loggers, they have been calibrated at UvA. The acceleration (A) expressed in g is calculated from the measured value (M) and the calibration factors offset (''O'') and sensitivity (''S'').&lt;br /&gt;
&lt;br /&gt;
Thus acceleration for heave (z), surge (x) and sway (y) is calculated as:&lt;br /&gt;
A&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; = (M&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;-O&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;)/S&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; ;      A&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; = (M&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;-O&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;)/S&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;;      A&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; = (M&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt;-O&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt;)/S&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; ; &lt;br /&gt;
&lt;br /&gt;
The values of ''O'' (in general ranging from 0-60, sometimes even 300) and ''S'' (ranging from 1300-1450) are available in the device table of the data base. If not available, use the factory defaults ''O'' = 0 and ''S'' = 1365.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[File:accelero1.png|300px]]||[[File:accelero2.png|300px]]|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the figure above heave (z) is shown in green, surge(x) in red and sway (y) in blue, all values are expressed in g (on the y-axis).&lt;br /&gt;
&lt;br /&gt;
== Data processing and filtering ==&lt;br /&gt;
The raw log files are processed before being entered into the database. Each firmware version has a dedicated parser for the task. In certain cases data that is found in the log files is not stored in the database.  This can occur for two reasons:&lt;br /&gt;
&lt;br /&gt;
1. The data did not pass the CRC8 checksum (cyclic redundancy check). This is a standard procedure designed to detect accidental changes to raw computer data.&lt;br /&gt;
&lt;br /&gt;
2. If the data has an invalid signature. For example, if a certain data format (eg numeric) or number of values (eg 4 digits) is expected but not returned, this record is not stored in the database.&lt;br /&gt;
&lt;br /&gt;
When a line is deleted, the log file name, line number and the type of error is stored in the table gps.uva_warning102&lt;br /&gt;
&lt;br /&gt;
== Information about GPS receivers ==&lt;br /&gt;
The first series of tags used the UBlox LEAS4S chip (~up to tag 541), newer tags use UBlox LEAS6S. The series developed in 2012 will use the Max6G receivers. From 2012 receiver versions will be stored in the database.&lt;br /&gt;
The UBX protocol is used for programming firmware, packaging and processing data.&lt;br /&gt;
For more information about the receivers themselves see the ublox documentation.&lt;br /&gt;
Ublox 4 Protocol specification [http://www.u-blox.com/images/downloads/Product_Docs/ANTARIS_Protocol_Specification%28GPS.G3-X-03002%29.zip]&lt;br /&gt;
Ublox 6 Protocol specification [http://www.u-blox.com/images/downloads/Product_Docs/u-blox6_ReceiverDescriptionProtocolSpec_%28GPS.G6-SW-10018%29.pdf]&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=Reference_systems_for_GPS_coordinates_and_altitudes&amp;diff=1431</id>
		<title>Reference systems for GPS coordinates and altitudes</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=Reference_systems_for_GPS_coordinates_and_altitudes&amp;diff=1431"/>
				<updated>2021-01-21T17:01:35Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* Reference systems for GPS coordinates and altitudes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;All of our UvA-BiTS GPS trackers use the Ublox Max-6G GPS receiver to collect vertical and horizontal position data. &lt;br /&gt;
&lt;br /&gt;
The GPS unit measures the distance from the satellites to the device and then it calculates the distance relative to the WGS84 ellipsoid (World Geodetic System WGS84). GPS coordinates in the database are calculated relative to the WGS84 datum.&lt;br /&gt;
 &lt;br /&gt;
The altitude measurements provided in the database are altitude above a geoid that approximates global mean sea level rather than altitudes relative to the WGS84 ellipsoid. (A good explanation about the difference between ellipsoids and geoid is available here: https://www.esri.com/news/arcuser/0703/geoid1of3.html)&lt;br /&gt;
&lt;br /&gt;
Be aware that global mean sea level is not the same as the earth’s surface (=land surface elevation). However, the SRTM-DEM data included in the database as land surface elevation data are also calculated relative to global mean sea level and can therefore be combined directly with UvA-BiTS movement data to calculate the bird’s altitude above land surface elevation. Different GPS tracker manufacturers may provide altitude measurements using different methods and/or reference systems, so use caution when combining GPS data collected with multiple tracking systems.&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=Reference_systems_for_GPS_coordinates_and_altitudes&amp;diff=1430</id>
		<title>Reference systems for GPS coordinates and altitudes</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=Reference_systems_for_GPS_coordinates_and_altitudes&amp;diff=1430"/>
				<updated>2021-01-21T17:00:47Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: Created page with &amp;quot;== Reference systems for GPS coordinates and altitudes ==  All of our UvA-BiTS GPS trackers use the Ublox Max-6G GPS receiver to collect vertical and horizontal position data....&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Reference systems for GPS coordinates and altitudes ==&lt;br /&gt;
&lt;br /&gt;
All of our UvA-BiTS GPS trackers use the Ublox Max-6G GPS receiver to collect vertical and horizontal position data. &lt;br /&gt;
&lt;br /&gt;
The GPS unit measures the distance from the satellites to the device and then it calculates the distance relative to the WGS84 ellipsoid (World Geodetic System WGS84). GPS coordinates in the database are calculated relative to the WGS84 datum.&lt;br /&gt;
 &lt;br /&gt;
The altitude measurements provided in the database are altitude above a geoid that approximates global mean sea level rather than altitudes relative to the WGS84 ellipsoid. (A good explanation about the difference between ellipsoids and geoid is available here: https://www.esri.com/news/arcuser/0703/geoid1of3.html)&lt;br /&gt;
&lt;br /&gt;
Be aware that global mean sea level is not the same as the earth’s surface (=land surface elevation). However, the SRTM-DEM data included in the database as land surface elevation data are also calculated relative to global mean sea level and can therefore be combined directly with UvA-BiTS movement data to calculate the bird’s altitude above land surface elevation. Different GPS tracker manufacturers may provide altitude measurements using different methods and/or reference systems, so use caution when combining GPS data collected with multiple tracking systems.&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=E-Ecology_Documentation_and_Guidance&amp;diff=1429</id>
		<title>E-Ecology Documentation and Guidance</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=E-Ecology_Documentation_and_Guidance&amp;diff=1429"/>
				<updated>2021-01-21T16:59:26Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* UvA-BiTS Data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Last updated: February 2018, Stacy Shinneman&lt;br /&gt;
&lt;br /&gt;
The e-Ecology Virtual Laboratories represent a collaborative effort between the University of Amsterdam Institute for Biodiversity and Ecosystem Dynamics and SURFsara Computing to manage bird tracking data and develop tools for data exploration, analysis and visualization. This wiki is designed to facilitate access to the data and tools within the Virtual Laboratories and to provide a forum for collaboration. &lt;br /&gt;
&lt;br /&gt;
The e-Ecology database contains many different datasets, each of which is contained within its own schema. Prior to 2018, the e-Ecology database was also referred to as the FlySafe database.&lt;br /&gt;
&lt;br /&gt;
== UvA-BiTS Data == &lt;br /&gt;
&lt;br /&gt;
Bird data collected with the UvA-BiTS Bird Tracking System is managed within the gps schema of the e-Ecology database. &lt;br /&gt;
&lt;br /&gt;
Note: We are continually working on improving UvA-BiTS services, including data processing and Virtual Lab functionality. In some cases, this has enabled us to extract more information from old GPS log files which is then incorporated into the database.  These changes may result in slight differences when you reprocess historic data. &lt;br /&gt;
&lt;br /&gt;
::* [[ DB_Views_2015 | e-Ecology UvA-BiTS database for general use (views) ]]&lt;br /&gt;
::* [[ DB_Tables_2015 | e-Ecology UvA-BiTS tables behind the views (not accessible for normal use) ]]&lt;br /&gt;
::* [[How to access the e-Ecology database]]&lt;br /&gt;
::* [[Reference systems for GPS coordinates and altitudes]]&lt;br /&gt;
::* [[Useful Queries]]&lt;br /&gt;
&lt;br /&gt;
==UvA-BiTS Services==&lt;br /&gt;
&lt;br /&gt;
* Visualization Tools&lt;br /&gt;
&lt;br /&gt;
:: [[KMZ Generator|UvA-BiTS KMZ Generator]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::Produces kmz files of UvA-BiTS bird tracking data to be viewed in Google Earth. &lt;br /&gt;
:: [[Tracker Calendar]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::Calendar overview with daily statistics of GPS-tracker&lt;br /&gt;
:: [[Flight Generator]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::This tool produces GPX files from UvA-BiTS tracking data for dynamic [http://www.doarama.com Doarama] visualizations.&lt;br /&gt;
:: [[BirdView]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::'''''This service is currently not available.''''' Access meterological and radar data and overlay with GPS bird tracking data.&lt;br /&gt;
:: [[BirdSim]]:  &amp;lt;br/ &amp;gt;&lt;br /&gt;
:::'''''This service is currently not available.''''' More dynamic version of BirdView that allows the user to scroll through weather data in time and space.&lt;br /&gt;
&lt;br /&gt;
* [[Dashboard]]:   These web pages allow UvA-BiTS users to get an overview of the raw data files of GPS bird tracking devices they have access to and to access the dashboard for administering projects. &lt;br /&gt;
&lt;br /&gt;
* [[ Annotation tables ]] for uploading GPS annotation data into your own schema and sharing your tables with other users. '''''This service is currently not available.'''''&lt;br /&gt;
* [[ SMS tables ]] for storage of SMS messages send by trackers.&lt;br /&gt;
* [[ CartoDB ]] usage and limitation of CartoDB server&lt;br /&gt;
&lt;br /&gt;
== Changes to the UvA-BiTS data model in 2014 ==&lt;br /&gt;
'''Important'''&lt;br /&gt;
In the summer of 2014 we have '''re-arranged the administrative''' part of UvA-BiTS (and e-Ecology) in the database. End users may have to adapt their programs the following way:&lt;br /&gt;
:* The '''uva_*_limited''' views that used to exist in the gps schema are gone. Most of them should have been replaced with an equivalent '''ee_*_limited counterpart'''.&lt;br /&gt;
:* The new ee_*_limited views show a superset of the same information as before, but enhanced with new project information.&lt;br /&gt;
:* Some '''column names''' in the ee_*_limited views may differ from the previous views.&lt;br /&gt;
:* There are new limited views: &lt;br /&gt;
:** gps.ee_'''project'''_limited: shows your projects' information&lt;br /&gt;
:** gps.ee_'''shared'''_*_limited: set of data you are able to see related to trackers that a project is sharing with a project you belong to&lt;br /&gt;
:* Special attention: gps.uva_device_limited is now replaced by '''gps.ee_tracker_limited'''. For each tracker, you now see which project provides you access to that tracker.&lt;br /&gt;
:* Also, '''gps.uva_tracking_limited''' is gone. Instead of that we have gps.ee_tracker_speed_limited, which adds speed columns to the original data. This amounts to a merger of gps.ee_tracking_limited, gps.ee_tracking_speed_3d_limited and gps.ee_tracking_speed_limited.&lt;br /&gt;
:* [[ UvAGPS|UvA-BiTS Data Model]] - OLD&lt;br /&gt;
&lt;br /&gt;
==Other e-Ecology Datasets==&lt;br /&gt;
&lt;br /&gt;
'''ENVIRONMENTAL DATA'''&lt;br /&gt;
&lt;br /&gt;
::* [[ Elevation|Elevation Data ]]&lt;br /&gt;
::* [[ ECMWF|Weather Forecast Data (ECMWF)]] Restricted to FlySafe users.&lt;br /&gt;
&lt;br /&gt;
'''FLYSAFE'''&lt;br /&gt;
&lt;br /&gt;
:Data related to European Space Agency FlySafe project. Financed by the Royal Netherlands Air Force. &lt;br /&gt;
&lt;br /&gt;
::* [[Argos Data Model|Argos GPS Data Model]]&lt;br /&gt;
::* [[ RADAR|Radar Data Model]]&lt;br /&gt;
::* [[ Wind profile|Wind Profile Data Model]]&lt;br /&gt;
::* [[How to access the e-Ecology database]]&lt;br /&gt;
&lt;br /&gt;
==Other e-Ecology Services==&lt;br /&gt;
[[e-Ecology GPS Bird Track Generator]]: Produce kmz files of ARGOS/GPS bird tracking data from the FlySafe project to be viewed in Google Earth. &lt;br /&gt;
&lt;br /&gt;
[[ Administration]]: Information about user rights and data processing tasks.&lt;br /&gt;
&lt;br /&gt;
[[ Bookkeeping]]: Description of tables related to e-Ecology data processing and archiving.&lt;br /&gt;
&lt;br /&gt;
[[ ToDo ]]&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=E-Ecology_Documentation_and_Guidance&amp;diff=1428</id>
		<title>E-Ecology Documentation and Guidance</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=E-Ecology_Documentation_and_Guidance&amp;diff=1428"/>
				<updated>2021-01-21T16:59:00Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* UvA-BiTS Data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Last updated: February 2018, Stacy Shinneman&lt;br /&gt;
&lt;br /&gt;
The e-Ecology Virtual Laboratories represent a collaborative effort between the University of Amsterdam Institute for Biodiversity and Ecosystem Dynamics and SURFsara Computing to manage bird tracking data and develop tools for data exploration, analysis and visualization. This wiki is designed to facilitate access to the data and tools within the Virtual Laboratories and to provide a forum for collaboration. &lt;br /&gt;
&lt;br /&gt;
The e-Ecology database contains many different datasets, each of which is contained within its own schema. Prior to 2018, the e-Ecology database was also referred to as the FlySafe database.&lt;br /&gt;
&lt;br /&gt;
== UvA-BiTS Data == &lt;br /&gt;
&lt;br /&gt;
Bird data collected with the UvA-BiTS Bird Tracking System is managed within the gps schema of the e-Ecology database. &lt;br /&gt;
&lt;br /&gt;
Note: We are continually working on improving UvA-BiTS services, including data processing and Virtual Lab functionality. In some cases, this has enabled us to extract more information from old GPS log files which is then incorporated into the database.  These changes may result in slight differences when you reprocess historic data. &lt;br /&gt;
&lt;br /&gt;
::* [[ DB_Views_2015 | e-Ecology UvA-BiTS database for general use (views) ]]&lt;br /&gt;
::* [[ DB_Tables_2015 | e-Ecology UvA-BiTS tables behind the views (not accessible for normal use) ]]&lt;br /&gt;
::* [[How to access the e-Ecology database]]&lt;br /&gt;
::* [[Reference systems for GPS coordinates and altitudes]]&lt;br /&gt;
::* [[Useful queries]]&lt;br /&gt;
&lt;br /&gt;
==UvA-BiTS Services==&lt;br /&gt;
&lt;br /&gt;
* Visualization Tools&lt;br /&gt;
&lt;br /&gt;
:: [[KMZ Generator|UvA-BiTS KMZ Generator]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::Produces kmz files of UvA-BiTS bird tracking data to be viewed in Google Earth. &lt;br /&gt;
:: [[Tracker Calendar]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::Calendar overview with daily statistics of GPS-tracker&lt;br /&gt;
:: [[Flight Generator]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::This tool produces GPX files from UvA-BiTS tracking data for dynamic [http://www.doarama.com Doarama] visualizations.&lt;br /&gt;
:: [[BirdView]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::'''''This service is currently not available.''''' Access meterological and radar data and overlay with GPS bird tracking data.&lt;br /&gt;
:: [[BirdSim]]:  &amp;lt;br/ &amp;gt;&lt;br /&gt;
:::'''''This service is currently not available.''''' More dynamic version of BirdView that allows the user to scroll through weather data in time and space.&lt;br /&gt;
&lt;br /&gt;
* [[Dashboard]]:   These web pages allow UvA-BiTS users to get an overview of the raw data files of GPS bird tracking devices they have access to and to access the dashboard for administering projects. &lt;br /&gt;
&lt;br /&gt;
* [[ Annotation tables ]] for uploading GPS annotation data into your own schema and sharing your tables with other users. '''''This service is currently not available.'''''&lt;br /&gt;
* [[ SMS tables ]] for storage of SMS messages send by trackers.&lt;br /&gt;
* [[ CartoDB ]] usage and limitation of CartoDB server&lt;br /&gt;
&lt;br /&gt;
== Changes to the UvA-BiTS data model in 2014 ==&lt;br /&gt;
'''Important'''&lt;br /&gt;
In the summer of 2014 we have '''re-arranged the administrative''' part of UvA-BiTS (and e-Ecology) in the database. End users may have to adapt their programs the following way:&lt;br /&gt;
:* The '''uva_*_limited''' views that used to exist in the gps schema are gone. Most of them should have been replaced with an equivalent '''ee_*_limited counterpart'''.&lt;br /&gt;
:* The new ee_*_limited views show a superset of the same information as before, but enhanced with new project information.&lt;br /&gt;
:* Some '''column names''' in the ee_*_limited views may differ from the previous views.&lt;br /&gt;
:* There are new limited views: &lt;br /&gt;
:** gps.ee_'''project'''_limited: shows your projects' information&lt;br /&gt;
:** gps.ee_'''shared'''_*_limited: set of data you are able to see related to trackers that a project is sharing with a project you belong to&lt;br /&gt;
:* Special attention: gps.uva_device_limited is now replaced by '''gps.ee_tracker_limited'''. For each tracker, you now see which project provides you access to that tracker.&lt;br /&gt;
:* Also, '''gps.uva_tracking_limited''' is gone. Instead of that we have gps.ee_tracker_speed_limited, which adds speed columns to the original data. This amounts to a merger of gps.ee_tracking_limited, gps.ee_tracking_speed_3d_limited and gps.ee_tracking_speed_limited.&lt;br /&gt;
:* [[ UvAGPS|UvA-BiTS Data Model]] - OLD&lt;br /&gt;
&lt;br /&gt;
==Other e-Ecology Datasets==&lt;br /&gt;
&lt;br /&gt;
'''ENVIRONMENTAL DATA'''&lt;br /&gt;
&lt;br /&gt;
::* [[ Elevation|Elevation Data ]]&lt;br /&gt;
::* [[ ECMWF|Weather Forecast Data (ECMWF)]] Restricted to FlySafe users.&lt;br /&gt;
&lt;br /&gt;
'''FLYSAFE'''&lt;br /&gt;
&lt;br /&gt;
:Data related to European Space Agency FlySafe project. Financed by the Royal Netherlands Air Force. &lt;br /&gt;
&lt;br /&gt;
::* [[Argos Data Model|Argos GPS Data Model]]&lt;br /&gt;
::* [[ RADAR|Radar Data Model]]&lt;br /&gt;
::* [[ Wind profile|Wind Profile Data Model]]&lt;br /&gt;
::* [[How to access the e-Ecology database]]&lt;br /&gt;
&lt;br /&gt;
==Other e-Ecology Services==&lt;br /&gt;
[[e-Ecology GPS Bird Track Generator]]: Produce kmz files of ARGOS/GPS bird tracking data from the FlySafe project to be viewed in Google Earth. &lt;br /&gt;
&lt;br /&gt;
[[ Administration]]: Information about user rights and data processing tasks.&lt;br /&gt;
&lt;br /&gt;
[[ Bookkeeping]]: Description of tables related to e-Ecology data processing and archiving.&lt;br /&gt;
&lt;br /&gt;
[[ ToDo ]]&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=UvA-BiTS_Tracking_Data&amp;diff=1427</id>
		<title>UvA-BiTS Tracking Data</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=UvA-BiTS_Tracking_Data&amp;diff=1427"/>
				<updated>2021-01-21T16:57:21Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* gps.ee_track_session_limited */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== UvA-BiTS Tracking Data ==&lt;br /&gt;
&lt;br /&gt;
'''Note:''' These views will show no rows for trackers not yet attached to birds.&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_tracking_speed_limited ===&lt;br /&gt;
&lt;br /&gt;
Shows the tracking data that your projects allow you to see. &lt;br /&gt;
&lt;br /&gt;
Each row represents a GPS fix as it is interpreted from the data that comes via the GPS tracker, plus it adds speeds.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the fix. Part of the unique identifier of the GPS fix.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time when the fix was taken. UTC (i.e.: no timezone). Part of the unique identifier of the GPS fix. &lt;br /&gt;
|-&lt;br /&gt;
|latitude||float8||YES||Latitude of the GPS fix, decimal degrees (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|longitude||float8||YES||Longitude of the GPS fix, decimal degrees (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|altitude||int4||YES||Altitude above sea level measured by GPS tag in meters (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|pressure||int4||YES||Pressure measured by GPS tag sensor in Pascals&lt;br /&gt;
|-&lt;br /&gt;
|temperature||float8||YES||Temperature measured by GPS tag sensor in Celsius&lt;br /&gt;
|-&lt;br /&gt;
|h_accuracy||float8||YES||Horizontal accuracy (meters)&lt;br /&gt;
|-&lt;br /&gt;
|v_accuracy||float8||YES||vertical accuracy (meters)&lt;br /&gt;
|-&lt;br /&gt;
|x_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|y_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|z_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|gps_fixtime||float8||YES||GPS fix time (also known as Time to Fix) in seconds&lt;br /&gt;
|-&lt;br /&gt;
|userflag||int4||YES||Acceptable = 0; Data flagged as unacceptable by user if not equal to 0.&lt;br /&gt;
|-&lt;br /&gt;
|satellites_used||int2||YES||Number of satellites used for fix the GPS measurement&lt;br /&gt;
|-&lt;br /&gt;
|positiondop||float8||YES||Positional DOP (Dilution of Precision), unitless&lt;br /&gt;
|-&lt;br /&gt;
|speed_accuracy||float8||YES||&lt;br /&gt;
|-&lt;br /&gt;
|location||geometry||YES||postgreSQL geometry; to allow GIS operations&lt;br /&gt;
|-&lt;br /&gt;
|vnorth||float8||YES||- vx * sin(lat) * cos(long) - vy * sin(lat) * sin (long) + vz * cos(lat), m/s&lt;br /&gt;
|-&lt;br /&gt;
|veast||float8||YES||- vx * sin(lon) + vy * cos(lon), m/s&lt;br /&gt;
|-&lt;br /&gt;
|vdown||float8||YES||- vx * cos(lat) * cos(lon) - vy * cos(lat) * sin(lon) - vz * sin(lat), m/s&lt;br /&gt;
|-&lt;br /&gt;
|speed||float8||YES||- vx * sin(lon) + vy * cos(lon)&lt;br /&gt;
|-&lt;br /&gt;
|speed_3d||float8||YES|| sqrt(d.x_speed^2 + d.y_speed^2 + d.z_speed^2), m/s&lt;br /&gt;
|-&lt;br /&gt;
|speed_2d||float8||YES|| Speed on 2D, m/s&lt;br /&gt;
|-&lt;br /&gt;
|direction||numeric||YES|| Heading in degrees; 0 is north, 90 is east&lt;br /&gt;
|-&lt;br /&gt;
|altitude_agl||float8||YES|| Reported GPS altitude MINUS terrain elevation on the coordinate based on Digital Elevation Model data used in the e-ecology database (for further information see: [[Elevation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_acceleration_limited ===&lt;br /&gt;
&lt;br /&gt;
Acceleration is measured in blocks of 1-200 measurements (records). The date_time  mentioned in this block is the date and time of the first acceleration measurement. Sequential measurements within a block are numbered with an index 1... (max 200). Every row represents one measurement in 3 directions (X,Y,Z). The order is important within each block, so you should always sort the acceleration measurements by block and index. If you need the exact time for each row, you can calculate it from the index, the sample frequency (which is almost always 20 Hz) and the date_time of the first row in the block.&lt;br /&gt;
&lt;br /&gt;
The date_time of the first block is the time of the GPS measurement preceding the accelerometer measurement. If there is no valid GPS measurement, this time is calculated from the last GPS measurement and the time of the internal clock of the tracker.&lt;br /&gt;
&lt;br /&gt;
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 in gps.ee_tracking_speed_limited for the given tracker, column date_time on gps.ee_acc_start_limited, and all the values on column date_time for that tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This table structure has ''not'' changed with respect to our previous database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the fix. Part of the unique identifier of the GPS fix.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time of the acceleration block that this measurement belongs to (time in UTC, no time zone).&lt;br /&gt;
|-&lt;br /&gt;
|index||int2||NO||Sorting order of the measurement within the acceleration block (each block starts at 0).&lt;br /&gt;
|-&lt;br /&gt;
|x_acceleration||int2||YES||Acceleration measured on the x (or surge) axis (range between -2666 and 2666).&lt;br /&gt;
|-&lt;br /&gt;
|y_acceleration||int2||YES||Acceleration measured on the y (or sway) axis (range between -2666 and 2666).&lt;br /&gt;
|-&lt;br /&gt;
|z_acceleration||int2||YES||Acceleration measured on the z (or heave) axis (range between -2666 and 2666).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_acc_start_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row represents the start of a block of acceleration measurements when a GPS fix is not available at that acceleration block's time. &lt;br /&gt;
&lt;br /&gt;
If there is no valid GPS measurement, this time is calculated from the last GPS measurement and the time of the internal clock of the tracker.&lt;br /&gt;
 &lt;br /&gt;
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 gps.ee_tracking_speed_limited for the given tracker, column date_time on gps.ee_acc_start_limited, 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. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Added in firmware 1.0.2.7.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the acceleration measurement.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time to mark the start of the acceleration block.&lt;br /&gt;
|-&lt;br /&gt;
|line_counter||int4||NO||Number of lines associated with this set of accelerations.&lt;br /&gt;
|-&lt;br /&gt;
|timesynced||int2||YES||The source of the time that marks the acceleration block (0=not synced, 1=user set, 2=Gps Synced).&lt;br /&gt;
|-&lt;br /&gt;
|ascii||int4||YES||Acceleration measurement interval.&lt;br /&gt;
|-&lt;br /&gt;
|accsn||int4||YES||Number of samples (0-65536).&lt;br /&gt;
|-&lt;br /&gt;
|f||int2||YES||Acceleration sampling frequency (0=20Hz, 1=10Hz, 2=5Hz, 3=1Hz).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bird data ==&lt;br /&gt;
=== ''gps.''ee_individual_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows bird's details for all birds that your projects allow you to see.&lt;br /&gt;
&lt;br /&gt;
This view replaces the old gps.uva_individual_limited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||Ring number.&lt;br /&gt;
|-&lt;br /&gt;
|species_latin_name||varchar||NO||Latin name of the species of the bird.&lt;br /&gt;
|-&lt;br /&gt;
|colour_ring||varchar||YES||String for ring colour.&lt;br /&gt;
|-&lt;br /&gt;
|sex||varchar||NO||Sex (M=male, F=female, X=unknown/unspecified)&lt;br /&gt;
|-&lt;br /&gt;
|mass||numeric(5,0)||YES||Mass (grams)&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date when the bird was first tracked with an UvA-BiTS logger.&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the bird is no longer relevant for the tracking project.&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Text for user remarks&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Bird unique id. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_species_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row represents a species that you can assign to your birds to include them in your project. No bird in the system can exist without being linked to one of the species from this list. If you are tagging a bird whose species does not exist in the list, please [http://www.uva-bits.nl/contact/ contact] us.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|abbr||varchar||NO||Unique abbreviation for this species.&lt;br /&gt;
|-&lt;br /&gt;
|english_name||varchar||YES||Name of the species in English. &lt;br /&gt;
|-&lt;br /&gt;
|latin_name||varchar||NO||Name of the species in Latin. It is always filled in.&lt;br /&gt;
|-&lt;br /&gt;
|species_id||int8||NO||Unique id. Added to allow joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_nest_limited ===&lt;br /&gt;
This view shows nests you have access to. A nest is always for a bird with a tracker (so a track session must exist for that bird), and must contain a short name (a reference name for you to use) and a latitude and longitude pair.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|reference_name||varchar||NO||A string with a useful reference for you. We recommend its being unique for each nest in a project, but the system does NOT enforce it.&lt;br /&gt;
|-&lt;br /&gt;
|latitude||numeric||YES||Latitude of the coordinates where the nest was found, decimal degrees (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|longitude||numeric||YES||Longitude of the coordinates where the nest was found, decimal degrees (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|start_date_time||timestamp||NO||When the nest was spotted.&lt;br /&gt;
|-&lt;br /&gt;
|end_date_time||timestamp||NO||When the nest ceases to be relevant.&lt;br /&gt;
|-&lt;br /&gt;
|found_by_whom||varchar||YES||Place to credit people involved in finding the nest.&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Free text.&lt;br /&gt;
|-&lt;br /&gt;
|location||bytearray||YES||Calculated Geometry of the coordinates where the nest was found.&lt;br /&gt;
|-&lt;br /&gt;
|nest_id||int8||NO||Unique id. Added to allow joins to nest_inhabitant_limited.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_nest_inhabitant_limited ===&lt;br /&gt;
This view shows who lives on which nest, for birds you have access to. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|reference_name||varchar||NO||A string belonging to the nest that you can use to identify that nest. Because it is NOT enforced to be unique, DO NOT USE THIS FIELD FOR JOINING.&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||The ring number of a bird on a nest.&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Following the link from a bird to her track sessions, and considering the nest's start and end time, the bird's trackers within that period are resolved so that they can be shown here. This is the device_info_serial of a tracker.&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||Following the link from a bird to her track sessions, and considering the nest's start and end time, the track sessions' projects within that period are resolved so that they can be shown here. This is the key_name of a project.&lt;br /&gt;
|-&lt;br /&gt;
|nest_id||int8||NO||Reference to the nest id. Added to allow joins.&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Reference to the individual id. Added to allow joins.&lt;br /&gt;
|-&lt;br /&gt;
|track_session_id||int8||NO||Reference to a resolved track session id. Added to allow joins.&lt;br /&gt;
|}&lt;br /&gt;
== Tracker and project data ==&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_project_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows the details of each project, for the projects you are allowed to see.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||Unique key name, with the form &amp;lt;species&amp;gt;_&amp;lt;place&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|station_name||varchar||NO||Where the receiving station is&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Project start date&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the project is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|description||text||YES||String for free description. Updatable by the user.&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Project unique id. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|parent_id||int8||YES||Reference to the parent project in the hierarchy.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_tracker_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows tracker details for all trackers that your projects allow you to see.&lt;br /&gt;
&lt;br /&gt;
This view replaces the old gps.uva_device_limited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|firmware_version||varchar||YES||String for firmware version&lt;br /&gt;
|-&lt;br /&gt;
|mass||numeric(4,2)||YES||Mass (in grams)&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date before which the device is not relevant&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the device is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|x_o||numeric(30,6)||YES||Accelerometer calibration: offset on the x (or surge) axis&lt;br /&gt;
|-&lt;br /&gt;
|x_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the x (or surge) axis&lt;br /&gt;
|-&lt;br /&gt;
|y_o||numeric(30,6)||YES||Accelerometer calibration: offset on the y (or sway) axis&lt;br /&gt;
|-&lt;br /&gt;
|y_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the y (or sway) axis&lt;br /&gt;
|-&lt;br /&gt;
|z_o||numeric(30,6)||YES||Accelerometer calibration: offset on the z (or heave) axis&lt;br /&gt;
|-&lt;br /&gt;
|z_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the y (or heave) axis&lt;br /&gt;
|-&lt;br /&gt;
|tracker_id||int8||NO||Tracker unique id. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_track_session_limited ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Each row shows track session's information. There exists a row for each track session that your projects allow you to see. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||The project that the track session belongs to.&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Serial number of the tracker this track session involves.&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||Ring number of the bird that this track session involves.&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date before which the track session is not relevant&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the track session is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Free text for comments&lt;br /&gt;
|-&lt;br /&gt;
|start_latitude||numeric(11,8)||NO||Latitude where the bird was tagged, decimal degrees (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|start_longitude||numeric(11,8)||NO||Longitude where the bird was tagged, decimal degrees (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Reference to the project this track session belongs to. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|tracker_id||int8||NO||Reference to the tracker this track session involves. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Reference to the individual this track session involves. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|track_session_id||int8||NO||Unique identifier of the track session. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Relation to projects ==&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_user_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows a colleague in a project that you belong to, indicating her role and status there.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||Project name&lt;br /&gt;
|-&lt;br /&gt;
|email||varchar||NO||e-mail address&lt;br /&gt;
|-&lt;br /&gt;
|login_name||varchar||NO||Login name&lt;br /&gt;
|-&lt;br /&gt;
|name||varchar||NO||(first) name&lt;br /&gt;
|-&lt;br /&gt;
|surname||varchar||NO||Surname&lt;br /&gt;
|-&lt;br /&gt;
|role||varchar||NO||Role in the project&lt;br /&gt;
|-&lt;br /&gt;
|status||varchar||NO||Status of the membership&lt;br /&gt;
|-&lt;br /&gt;
|user_id||int8||NO||Unique identifier of the user. Included to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_tracker_ownership_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row that you see expresses that a tracker belongs to one of the projects you are involved with. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||The project that the tracker belongs to.&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Serial number of the tracker.&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Reference to the project. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|tracker_id||int8||NO||Reference to the tracker. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_individual_ownership_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row that you see expresses that a bird belongs to one of the projects you are involved with. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||The project that the individual belongs to.&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||Ring number of the bird.&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Reference to the project. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Reference to the individual. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Engineering data ==&lt;br /&gt;
&lt;br /&gt;
'''Note:''' These views will show no rows for trackers not yet attached to birds.&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_comm_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row indicates status and result of communications with ground stations for each tracker that your project allows you to see. &lt;br /&gt;
&lt;br /&gt;
Only for newer firmware (v.1.0.1.4 and higher).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
| device_info_serial || int4 || NO || Serial number of the tracker.&lt;br /&gt;
|-&lt;br /&gt;
| date_time || timestamp || NO || timestamp of start communication&lt;br /&gt;
|-&lt;br /&gt;
| date_time_end || timestamp ||YES|| timestamp of end communication           &lt;br /&gt;
|-&lt;br /&gt;
| date_time_utc || timestamp ||YES|| date_time in utc (if available)&lt;br /&gt;
|-&lt;br /&gt;
| date_time_end_utc || timestamp ||YES|| date_time_end in utc (if available)&lt;br /&gt;
|-&lt;br /&gt;
| action || text||YES|| JOINED / RESCHEDULE  ??&lt;br /&gt;
|-&lt;br /&gt;
| bytes_communicated || int4 ||YES|| Number of bytes communicated (total of all bytes per DATA line)  &lt;br /&gt;
|-&lt;br /&gt;
|status || text ||YES|| READY, TIMEOUT, LOWPOWER, MISSING&lt;br /&gt;
|-&lt;br /&gt;
| network_join_time || int4||YES||milliseconds&lt;br /&gt;
|-&lt;br /&gt;
| number_identical_lines || int4 ||YES|| Number identical lines in data block. Gives indication &lt;br /&gt;
|-&lt;br /&gt;
| non_ascii_char || int4 ||YES|| Number of non ascii characters (indicated by question-mark ?)&lt;br /&gt;
|-&lt;br /&gt;
| sts_time || timestamp ||YES|| derived from S0 hh,mi&lt;br /&gt;
|-&lt;br /&gt;
| timesynced || int2||YES|| TimeSynced (0=not sy:wnced, 1=user set, 2=Gps Synced)&lt;br /&gt;
|-&lt;br /&gt;
|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)&lt;br /&gt;
|-&lt;br /&gt;
| vbat || float8 ||YES|| Battery voltage in V (0-~4.200V) &lt;br /&gt;
|-&lt;br /&gt;
|logb || int4 ||YES|| logged bytes, waiting for download (0-4Mbyte)&lt;br /&gt;
|-&lt;br /&gt;
| logp || int2 ||YES|| Logged percentage (units 0.1%) of memory waiting to be downloaded (0-1000)&lt;br /&gt;
|-&lt;br /&gt;
| gpsii || int4 ||YES|| GpsIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|comii || int4||YES|| ComIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|accii || int4||YES|| AcceleroIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|swddd || int4||YES|| User switches, current (0-65535) &lt;br /&gt;
|-&lt;br /&gt;
|last_gps_fix ||timestamp||YES||timestamp of last fix&lt;br /&gt;
|-&lt;br /&gt;
|latitude||float8||YES||Latitude of last fix. Decimal degrees &lt;br /&gt;
|-&lt;br /&gt;
|longitude||float8||YES||Longitude of last fix. Decimal degrees&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_energy_limited ===&lt;br /&gt;
&lt;br /&gt;
Only for newer firmware.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Date and time of the reported data&lt;br /&gt;
|-&lt;br /&gt;
|timesynced ||int2||YES||TimeSynced (0=not synced, 1=user set, 2=Gps synced)&lt;br /&gt;
|-&lt;br /&gt;
|devicemode ||int2||YES||(0-99)&lt;br /&gt;
|-&lt;br /&gt;
|vsll ||float8||YES||Solar Voltage during charging in mV (0-~2500)&lt;br /&gt;
|-&lt;br /&gt;
|vbat ||float8||YES||Battery Voltage in V (0-~4.200)&lt;br /&gt;
|-&lt;br /&gt;
|ssw ||int2||YES|| Solar Cell Switches ... (0-255) fw1022 and up &lt;br /&gt;
|-&lt;br /&gt;
| ||||YES||extended fields if special user switch is on &lt;br /&gt;
|-&lt;br /&gt;
|vsoo ||float8||YES|| Solar voltage open in V (0-~2.500)&lt;br /&gt;
|-&lt;br /&gt;
|vdrf ||float8||YES||reference voltage Dac in V (0-~2.435)&lt;br /&gt;
|-&lt;br /&gt;
|vchr ||float8||YES||charge current voltage&lt;br /&gt;
|-&lt;br /&gt;
|g ||int2||YES|| Gps battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|c || int2||YES||Com battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|m || int2||YES||Charge Mode (0,1,2 Com battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|pressure || int4||YES|| in pascal (1mBar = 100Pa, 1pressuremeter = ~12Pa)&lt;br /&gt;
|-&lt;br /&gt;
|temperature || float8||YES|| in celcius degrees   &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_settings_limited ===&lt;br /&gt;
&lt;br /&gt;
Settings are either from C0-C1-C9 lines or parsed from uplink communication lines. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Derived timestamp from Hh:mi fields in C0 combined with computer timestamp in JOINED line&lt;br /&gt;
|-&lt;br /&gt;
|timesynced || int2 ||YES||&lt;br /&gt;
|-&lt;br /&gt;
|timezone_time || int2 ||YES||&lt;br /&gt;
|-&lt;br /&gt;
|swddd || int4||YES|| SpecialUserSwitches &lt;br /&gt;
|-&lt;br /&gt;
|gpsnavmode || int2||YES|| GpsNavMode 0-8. This is the Kalman filter used for GPS navigation mode often called the &amp;quot;Dynamic platform model&amp;quot;. 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 &amp;lt; 1g acceleration, 7 = airborne with &amp;lt; 2g acceleration, 8 = airborne with &amp;lt; 4g acceleration &lt;br /&gt;
|-&lt;br /&gt;
|gpsreceivermode || int2 ||YES|| GpsReceiverNode 0-3&lt;br /&gt;
|-&lt;br /&gt;
|gpsfixtime || int2||YES|| GpsFixTime 0-255&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln_on_h || int2||YES|| hours Gps IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln_on_m || int2||YES|| minutes Gps IvalN on &lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln  || int4||YES|| GpsIvalN (0-65530)&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale_on_h || int2||YES|| hours Gps IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale_on_m || int2||YES|| minutes GpS IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale  || int4||YES|| GpsIvalE &lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln_on_h || int2||YES|| hours Com IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln_on_m || int2||YES|| minutes Com IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln || int4||YES|| ComIvalN (0-65530)&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale_on_h || int2||YES|| hours Com IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale_on_m || int2||YES|| minutes Com IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale || int4||YES|| ComIvalE&lt;br /&gt;
|-&lt;br /&gt;
|accii || int4||YES|| Accelero measurement interval         &lt;br /&gt;
|-&lt;br /&gt;
|accbn || int4||YES|| Accelero number of blocks &lt;br /&gt;
|-&lt;br /&gt;
|accsn || int4||YES|| Accelero number of samples (0-65536)&lt;br /&gt;
|-&lt;br /&gt;
|f || int2||YES||Accelero sample frequency  (0=20Hz, 1=10Hz, 2=5Hz, 3=1Hz)&lt;br /&gt;
|-&lt;br /&gt;
|pdp || int2||YES|| PdopMsk (3-250)&lt;br /&gt;
|-&lt;br /&gt;
|pac||int2||YES|| PaccMsk (10-100)&lt;br /&gt;
|-&lt;br /&gt;
|tdp ||int2||YES|| TdopMsk (3-250)&lt;br /&gt;
|-&lt;br /&gt;
|tac ||int2||YES|| TaccMsk (30-300)&lt;br /&gt;
|-&lt;br /&gt;
|ga || int2||YES|| Additional Fixes GpsIval mode (3-25) before interval fix is logged&lt;br /&gt;
|-&lt;br /&gt;
|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 &amp;lt; level - 5&lt;br /&gt;
|-&lt;br /&gt;
|eventnum || text||YES|| 12 eventnumbers (0-0xff) only printed if not zero, therfore converted to text&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_trackingfile_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows the status of the last attempt to parse (process) the raw data of a file for a given tracker, for each tracker that your projects allow you to see.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier of the row&lt;br /&gt;
|-&lt;br /&gt;
|date_reported||date||NO||Date that the file arrived&lt;br /&gt;
|-&lt;br /&gt;
|filename||varchar||NO||Name of the file&lt;br /&gt;
|-&lt;br /&gt;
|last_modified_date||timestamp||NO||Date that the file was last modified on&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||YES||Serial number of the tracker this file comes from&lt;br /&gt;
|-&lt;br /&gt;
|filesize||int8||NO||Size of the file in KB&lt;br /&gt;
|-&lt;br /&gt;
|parsed_date||timestamp||YES||Date and time that the file was last attempted to be parsed on&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||NO||Optimistic locking field. Ignore it as a user. &lt;br /&gt;
|-&lt;br /&gt;
|last_found_date||timestamp||YES||Last time that a process that runs to look for new files saw the file&lt;br /&gt;
|-&lt;br /&gt;
|n_lines||int4||YES||Count of lines found in the file last time it was processed&lt;br /&gt;
|-&lt;br /&gt;
|n_data_lines||int4||YES||Count of actual data lines, out of the total lines&lt;br /&gt;
|-&lt;br /&gt;
|n_tracking_records||int4||YES||Count of GPS fixes found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_communication_records||int4||YES||Count of communication records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_energy_records||int4||YES||Count of energy records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_acceleration_records||int4||YES||Count of acceleration records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_acceleration_start_records||int4||YES||Count of acceleration start records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_errors||int4||YES||Count of errors encountered during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_settings_records||int4||YES||Count of settings records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|filepath||text||NO||Directory path of the file on the server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_warning_limited ===&lt;br /&gt;
&lt;br /&gt;
Since firmware version 1.0.2.7 this table was added for events that do not occur very often (C10, C20) or errors that occur during parsing. &lt;br /&gt;
&lt;br /&gt;
For example all CRC failures can be selected with : &lt;br /&gt;
&lt;br /&gt;
  select * from gps.ee_warning_limited&lt;br /&gt;
  where warning = 'CRC8 failure'&lt;br /&gt;
  order by device_info_serial;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|filename||text||NO||File name &lt;br /&gt;
|-&lt;br /&gt;
|linenumber||integer||YES||line number in file &lt;br /&gt;
|-&lt;br /&gt;
|warning||text||YES||The warning message&lt;br /&gt;
|-&lt;br /&gt;
|line||text||YES||The actual line contents in the file &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sharings ==&lt;br /&gt;
&lt;br /&gt;
Projects can now share trackers with other projects during periods of time. This means that people in the receiving projects can access information that these shared trackers provide during those time periods. &lt;br /&gt;
&lt;br /&gt;
The following views allow you to see this shared information:&lt;br /&gt;
&lt;br /&gt;
* Tracking data&lt;br /&gt;
** ''gps.''ee_shared_tracking_speed_limited: tracking information (gps, speed), during the shared period, for trackers shared&lt;br /&gt;
** ''gps.''ee_shared_acc_start_limited: acceleration start information, during the shared period, for trackers shared&lt;br /&gt;
** ''gps.''ee_shared_acceleration_limited: acceleration information for trackers shared&lt;br /&gt;
* Metadata&lt;br /&gt;
** ''gps.''ee_shared_tracker_limited: information about each shared tracker&lt;br /&gt;
** ''gps.''ee_shared_individual_limited: information about birds with shared trackers&lt;br /&gt;
** ''gps.''ee_shared_track_session_limited: information about track sessions which involve shared trackers&lt;br /&gt;
* Relation to projects&lt;br /&gt;
** ''gps.''ee_shared_tracker_sharing_limited: view information for each sharing that your projects allow you to see&lt;br /&gt;
&lt;br /&gt;
== Accelerometer calibration ==&lt;br /&gt;
&lt;br /&gt;
The accelerometer measures the acceleration in 3D (20 times per second). Acceleration is caused by gravity (static component) and by a change in speed (dynamic component). &lt;br /&gt;
When the logger is static in horizontal position (solar cells up), gravity (green arrow) shows a  heave (vertical acceleration, z) of +1 g (1 g = 9.81 m.s&amp;lt;sup&amp;gt;-2&amp;lt;/sup&amp;gt;) while surge and heave are both 0. When the front of the logger is vertically pointing down (forward acceleration, x), surge is +1g and when it is rolled to the right (sidewards acceleration, y) sway is +1g. Due to gravity, the pitch of a logger is thus translated into the values of heave, surge and sway (or z, x, y).&lt;br /&gt;
&lt;br /&gt;
However, the values are measured in mV instead of g. Before delivering the GPS-loggers, they have been calibrated at UvA. The acceleration (A) expressed in g is calculated from the measured value (M) and the calibration factors offset (''O'') and sensitivity (''S'').&lt;br /&gt;
&lt;br /&gt;
Thus acceleration for heave (z), surge (x) and sway (y) is calculated as:&lt;br /&gt;
A&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; = (M&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;-O&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;)/S&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; ;      A&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; = (M&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;-O&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;)/S&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;;      A&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; = (M&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt;-O&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt;)/S&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; ; &lt;br /&gt;
&lt;br /&gt;
The values of ''O'' (in general ranging from 0-60, sometimes even 300) and ''S'' (ranging from 1300-1450) are available in the device table of the data base. If not available, use the factory defaults ''O'' = 0 and ''S'' = 1365.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[File:accelero1.png|300px]]||[[File:accelero2.png|300px]]|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the figure above heave (z) is shown in green, surge(x) in red and sway (y) in blue, all values are expressed in g (on the y-axis).&lt;br /&gt;
&lt;br /&gt;
== Data processing and filtering ==&lt;br /&gt;
The raw log files are processed before being entered into the database. Each firmware version has a dedicated parser for the task. In certain cases data that is found in the log files is not stored in the database.  This can occur for two reasons:&lt;br /&gt;
&lt;br /&gt;
1. The data did not pass the CRC8 checksum (cyclic redundancy check). This is a standard procedure designed to detect accidental changes to raw computer data.&lt;br /&gt;
&lt;br /&gt;
2. If the data has an invalid signature. For example, if a certain data format (eg numeric) or number of values (eg 4 digits) is expected but not returned, this record is not stored in the database.&lt;br /&gt;
&lt;br /&gt;
When a line is deleted, the log file name, line number and the type of error is stored in the table gps.uva_warning102&lt;br /&gt;
&lt;br /&gt;
== Information about GPS receivers ==&lt;br /&gt;
The first series of tags used the UBlox LEAS4S chip (~up to tag 541), newer tags use UBlox LEAS6S. The series developed in 2012 will use the Max6G receivers. From 2012 receiver versions will be stored in the database.&lt;br /&gt;
The UBX protocol is used for programming firmware, packaging and processing data.&lt;br /&gt;
For more information about the receivers themselves see the ublox documentation.&lt;br /&gt;
Ublox 4 Protocol specification [http://www.u-blox.com/images/downloads/Product_Docs/ANTARIS_Protocol_Specification%28GPS.G3-X-03002%29.zip]&lt;br /&gt;
Ublox 6 Protocol specification [http://www.u-blox.com/images/downloads/Product_Docs/u-blox6_ReceiverDescriptionProtocolSpec_%28GPS.G6-SW-10018%29.pdf]&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=UvA-BiTS_Tracking_Data&amp;diff=1426</id>
		<title>UvA-BiTS Tracking Data</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=UvA-BiTS_Tracking_Data&amp;diff=1426"/>
				<updated>2021-01-21T16:56:59Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* gps.ee_nest_limited */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== UvA-BiTS Tracking Data ==&lt;br /&gt;
&lt;br /&gt;
'''Note:''' These views will show no rows for trackers not yet attached to birds.&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_tracking_speed_limited ===&lt;br /&gt;
&lt;br /&gt;
Shows the tracking data that your projects allow you to see. &lt;br /&gt;
&lt;br /&gt;
Each row represents a GPS fix as it is interpreted from the data that comes via the GPS tracker, plus it adds speeds.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the fix. Part of the unique identifier of the GPS fix.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time when the fix was taken. UTC (i.e.: no timezone). Part of the unique identifier of the GPS fix. &lt;br /&gt;
|-&lt;br /&gt;
|latitude||float8||YES||Latitude of the GPS fix, decimal degrees (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|longitude||float8||YES||Longitude of the GPS fix, decimal degrees (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|altitude||int4||YES||Altitude above sea level measured by GPS tag in meters (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|pressure||int4||YES||Pressure measured by GPS tag sensor in Pascals&lt;br /&gt;
|-&lt;br /&gt;
|temperature||float8||YES||Temperature measured by GPS tag sensor in Celsius&lt;br /&gt;
|-&lt;br /&gt;
|h_accuracy||float8||YES||Horizontal accuracy (meters)&lt;br /&gt;
|-&lt;br /&gt;
|v_accuracy||float8||YES||vertical accuracy (meters)&lt;br /&gt;
|-&lt;br /&gt;
|x_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|y_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|z_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|gps_fixtime||float8||YES||GPS fix time (also known as Time to Fix) in seconds&lt;br /&gt;
|-&lt;br /&gt;
|userflag||int4||YES||Acceptable = 0; Data flagged as unacceptable by user if not equal to 0.&lt;br /&gt;
|-&lt;br /&gt;
|satellites_used||int2||YES||Number of satellites used for fix the GPS measurement&lt;br /&gt;
|-&lt;br /&gt;
|positiondop||float8||YES||Positional DOP (Dilution of Precision), unitless&lt;br /&gt;
|-&lt;br /&gt;
|speed_accuracy||float8||YES||&lt;br /&gt;
|-&lt;br /&gt;
|location||geometry||YES||postgreSQL geometry; to allow GIS operations&lt;br /&gt;
|-&lt;br /&gt;
|vnorth||float8||YES||- vx * sin(lat) * cos(long) - vy * sin(lat) * sin (long) + vz * cos(lat), m/s&lt;br /&gt;
|-&lt;br /&gt;
|veast||float8||YES||- vx * sin(lon) + vy * cos(lon), m/s&lt;br /&gt;
|-&lt;br /&gt;
|vdown||float8||YES||- vx * cos(lat) * cos(lon) - vy * cos(lat) * sin(lon) - vz * sin(lat), m/s&lt;br /&gt;
|-&lt;br /&gt;
|speed||float8||YES||- vx * sin(lon) + vy * cos(lon)&lt;br /&gt;
|-&lt;br /&gt;
|speed_3d||float8||YES|| sqrt(d.x_speed^2 + d.y_speed^2 + d.z_speed^2), m/s&lt;br /&gt;
|-&lt;br /&gt;
|speed_2d||float8||YES|| Speed on 2D, m/s&lt;br /&gt;
|-&lt;br /&gt;
|direction||numeric||YES|| Heading in degrees; 0 is north, 90 is east&lt;br /&gt;
|-&lt;br /&gt;
|altitude_agl||float8||YES|| Reported GPS altitude MINUS terrain elevation on the coordinate based on Digital Elevation Model data used in the e-ecology database (for further information see: [[Elevation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_acceleration_limited ===&lt;br /&gt;
&lt;br /&gt;
Acceleration is measured in blocks of 1-200 measurements (records). The date_time  mentioned in this block is the date and time of the first acceleration measurement. Sequential measurements within a block are numbered with an index 1... (max 200). Every row represents one measurement in 3 directions (X,Y,Z). The order is important within each block, so you should always sort the acceleration measurements by block and index. If you need the exact time for each row, you can calculate it from the index, the sample frequency (which is almost always 20 Hz) and the date_time of the first row in the block.&lt;br /&gt;
&lt;br /&gt;
The date_time of the first block is the time of the GPS measurement preceding the accelerometer measurement. If there is no valid GPS measurement, this time is calculated from the last GPS measurement and the time of the internal clock of the tracker.&lt;br /&gt;
&lt;br /&gt;
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 in gps.ee_tracking_speed_limited for the given tracker, column date_time on gps.ee_acc_start_limited, and all the values on column date_time for that tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This table structure has ''not'' changed with respect to our previous database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the fix. Part of the unique identifier of the GPS fix.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time of the acceleration block that this measurement belongs to (time in UTC, no time zone).&lt;br /&gt;
|-&lt;br /&gt;
|index||int2||NO||Sorting order of the measurement within the acceleration block (each block starts at 0).&lt;br /&gt;
|-&lt;br /&gt;
|x_acceleration||int2||YES||Acceleration measured on the x (or surge) axis (range between -2666 and 2666).&lt;br /&gt;
|-&lt;br /&gt;
|y_acceleration||int2||YES||Acceleration measured on the y (or sway) axis (range between -2666 and 2666).&lt;br /&gt;
|-&lt;br /&gt;
|z_acceleration||int2||YES||Acceleration measured on the z (or heave) axis (range between -2666 and 2666).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_acc_start_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row represents the start of a block of acceleration measurements when a GPS fix is not available at that acceleration block's time. &lt;br /&gt;
&lt;br /&gt;
If there is no valid GPS measurement, this time is calculated from the last GPS measurement and the time of the internal clock of the tracker.&lt;br /&gt;
 &lt;br /&gt;
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 gps.ee_tracking_speed_limited for the given tracker, column date_time on gps.ee_acc_start_limited, 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. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Added in firmware 1.0.2.7.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the acceleration measurement.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time to mark the start of the acceleration block.&lt;br /&gt;
|-&lt;br /&gt;
|line_counter||int4||NO||Number of lines associated with this set of accelerations.&lt;br /&gt;
|-&lt;br /&gt;
|timesynced||int2||YES||The source of the time that marks the acceleration block (0=not synced, 1=user set, 2=Gps Synced).&lt;br /&gt;
|-&lt;br /&gt;
|ascii||int4||YES||Acceleration measurement interval.&lt;br /&gt;
|-&lt;br /&gt;
|accsn||int4||YES||Number of samples (0-65536).&lt;br /&gt;
|-&lt;br /&gt;
|f||int2||YES||Acceleration sampling frequency (0=20Hz, 1=10Hz, 2=5Hz, 3=1Hz).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bird data ==&lt;br /&gt;
=== ''gps.''ee_individual_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows bird's details for all birds that your projects allow you to see.&lt;br /&gt;
&lt;br /&gt;
This view replaces the old gps.uva_individual_limited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||Ring number.&lt;br /&gt;
|-&lt;br /&gt;
|species_latin_name||varchar||NO||Latin name of the species of the bird.&lt;br /&gt;
|-&lt;br /&gt;
|colour_ring||varchar||YES||String for ring colour.&lt;br /&gt;
|-&lt;br /&gt;
|sex||varchar||NO||Sex (M=male, F=female, X=unknown/unspecified)&lt;br /&gt;
|-&lt;br /&gt;
|mass||numeric(5,0)||YES||Mass (grams)&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date when the bird was first tracked with an UvA-BiTS logger.&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the bird is no longer relevant for the tracking project.&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Text for user remarks&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Bird unique id. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_species_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row represents a species that you can assign to your birds to include them in your project. No bird in the system can exist without being linked to one of the species from this list. If you are tagging a bird whose species does not exist in the list, please [http://www.uva-bits.nl/contact/ contact] us.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|abbr||varchar||NO||Unique abbreviation for this species.&lt;br /&gt;
|-&lt;br /&gt;
|english_name||varchar||YES||Name of the species in English. &lt;br /&gt;
|-&lt;br /&gt;
|latin_name||varchar||NO||Name of the species in Latin. It is always filled in.&lt;br /&gt;
|-&lt;br /&gt;
|species_id||int8||NO||Unique id. Added to allow joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_nest_limited ===&lt;br /&gt;
This view shows nests you have access to. A nest is always for a bird with a tracker (so a track session must exist for that bird), and must contain a short name (a reference name for you to use) and a latitude and longitude pair.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|reference_name||varchar||NO||A string with a useful reference for you. We recommend its being unique for each nest in a project, but the system does NOT enforce it.&lt;br /&gt;
|-&lt;br /&gt;
|latitude||numeric||YES||Latitude of the coordinates where the nest was found, decimal degrees (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|longitude||numeric||YES||Longitude of the coordinates where the nest was found, decimal degrees (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|start_date_time||timestamp||NO||When the nest was spotted.&lt;br /&gt;
|-&lt;br /&gt;
|end_date_time||timestamp||NO||When the nest ceases to be relevant.&lt;br /&gt;
|-&lt;br /&gt;
|found_by_whom||varchar||YES||Place to credit people involved in finding the nest.&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Free text.&lt;br /&gt;
|-&lt;br /&gt;
|location||bytearray||YES||Calculated Geometry of the coordinates where the nest was found.&lt;br /&gt;
|-&lt;br /&gt;
|nest_id||int8||NO||Unique id. Added to allow joins to nest_inhabitant_limited.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_nest_inhabitant_limited ===&lt;br /&gt;
This view shows who lives on which nest, for birds you have access to. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|reference_name||varchar||NO||A string belonging to the nest that you can use to identify that nest. Because it is NOT enforced to be unique, DO NOT USE THIS FIELD FOR JOINING.&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||The ring number of a bird on a nest.&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Following the link from a bird to her track sessions, and considering the nest's start and end time, the bird's trackers within that period are resolved so that they can be shown here. This is the device_info_serial of a tracker.&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||Following the link from a bird to her track sessions, and considering the nest's start and end time, the track sessions' projects within that period are resolved so that they can be shown here. This is the key_name of a project.&lt;br /&gt;
|-&lt;br /&gt;
|nest_id||int8||NO||Reference to the nest id. Added to allow joins.&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Reference to the individual id. Added to allow joins.&lt;br /&gt;
|-&lt;br /&gt;
|track_session_id||int8||NO||Reference to a resolved track session id. Added to allow joins.&lt;br /&gt;
|}&lt;br /&gt;
== Tracker and project data ==&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_project_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows the details of each project, for the projects you are allowed to see.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||Unique key name, with the form &amp;lt;species&amp;gt;_&amp;lt;place&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|station_name||varchar||NO||Where the receiving station is&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Project start date&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the project is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|description||text||YES||String for free description. Updatable by the user.&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Project unique id. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|parent_id||int8||YES||Reference to the parent project in the hierarchy.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_tracker_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows tracker details for all trackers that your projects allow you to see.&lt;br /&gt;
&lt;br /&gt;
This view replaces the old gps.uva_device_limited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|firmware_version||varchar||YES||String for firmware version&lt;br /&gt;
|-&lt;br /&gt;
|mass||numeric(4,2)||YES||Mass (in grams)&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date before which the device is not relevant&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the device is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|x_o||numeric(30,6)||YES||Accelerometer calibration: offset on the x (or surge) axis&lt;br /&gt;
|-&lt;br /&gt;
|x_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the x (or surge) axis&lt;br /&gt;
|-&lt;br /&gt;
|y_o||numeric(30,6)||YES||Accelerometer calibration: offset on the y (or sway) axis&lt;br /&gt;
|-&lt;br /&gt;
|y_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the y (or sway) axis&lt;br /&gt;
|-&lt;br /&gt;
|z_o||numeric(30,6)||YES||Accelerometer calibration: offset on the z (or heave) axis&lt;br /&gt;
|-&lt;br /&gt;
|z_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the y (or heave) axis&lt;br /&gt;
|-&lt;br /&gt;
|tracker_id||int8||NO||Tracker unique id. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_track_session_limited ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Each row shows track session's information. There exists a row for each track session that your projects allow you to see. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||The project that the track session belongs to.&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Serial number of the tracker this track session involves.&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||Ring number of the bird that this track session involves.&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date before which the track session is not relevant&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the track session is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Free text for comments&lt;br /&gt;
|-&lt;br /&gt;
|start_latitude||numeric(11,8)||NO||Latitude where the bird was tagged, decimal degrees (WGS1984 Ellipsoid)&lt;br /&gt;
|-&lt;br /&gt;
|start_longitude||numeric(11,8)||NO||Longitude where the bird was tagged, decimal degrees (WGS1984 Ellipsoid)&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Reference to the project this track session belongs to. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|tracker_id||int8||NO||Reference to the tracker this track session involves. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Reference to the individual this track session involves. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|track_session_id||int8||NO||Unique identifier of the track session. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Relation to projects ==&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_user_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows a colleague in a project that you belong to, indicating her role and status there.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||Project name&lt;br /&gt;
|-&lt;br /&gt;
|email||varchar||NO||e-mail address&lt;br /&gt;
|-&lt;br /&gt;
|login_name||varchar||NO||Login name&lt;br /&gt;
|-&lt;br /&gt;
|name||varchar||NO||(first) name&lt;br /&gt;
|-&lt;br /&gt;
|surname||varchar||NO||Surname&lt;br /&gt;
|-&lt;br /&gt;
|role||varchar||NO||Role in the project&lt;br /&gt;
|-&lt;br /&gt;
|status||varchar||NO||Status of the membership&lt;br /&gt;
|-&lt;br /&gt;
|user_id||int8||NO||Unique identifier of the user. Included to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_tracker_ownership_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row that you see expresses that a tracker belongs to one of the projects you are involved with. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||The project that the tracker belongs to.&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Serial number of the tracker.&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Reference to the project. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|tracker_id||int8||NO||Reference to the tracker. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_individual_ownership_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row that you see expresses that a bird belongs to one of the projects you are involved with. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||The project that the individual belongs to.&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||Ring number of the bird.&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Reference to the project. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Reference to the individual. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Engineering data ==&lt;br /&gt;
&lt;br /&gt;
'''Note:''' These views will show no rows for trackers not yet attached to birds.&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_comm_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row indicates status and result of communications with ground stations for each tracker that your project allows you to see. &lt;br /&gt;
&lt;br /&gt;
Only for newer firmware (v.1.0.1.4 and higher).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
| device_info_serial || int4 || NO || Serial number of the tracker.&lt;br /&gt;
|-&lt;br /&gt;
| date_time || timestamp || NO || timestamp of start communication&lt;br /&gt;
|-&lt;br /&gt;
| date_time_end || timestamp ||YES|| timestamp of end communication           &lt;br /&gt;
|-&lt;br /&gt;
| date_time_utc || timestamp ||YES|| date_time in utc (if available)&lt;br /&gt;
|-&lt;br /&gt;
| date_time_end_utc || timestamp ||YES|| date_time_end in utc (if available)&lt;br /&gt;
|-&lt;br /&gt;
| action || text||YES|| JOINED / RESCHEDULE  ??&lt;br /&gt;
|-&lt;br /&gt;
| bytes_communicated || int4 ||YES|| Number of bytes communicated (total of all bytes per DATA line)  &lt;br /&gt;
|-&lt;br /&gt;
|status || text ||YES|| READY, TIMEOUT, LOWPOWER, MISSING&lt;br /&gt;
|-&lt;br /&gt;
| network_join_time || int4||YES||milliseconds&lt;br /&gt;
|-&lt;br /&gt;
| number_identical_lines || int4 ||YES|| Number identical lines in data block. Gives indication &lt;br /&gt;
|-&lt;br /&gt;
| non_ascii_char || int4 ||YES|| Number of non ascii characters (indicated by question-mark ?)&lt;br /&gt;
|-&lt;br /&gt;
| sts_time || timestamp ||YES|| derived from S0 hh,mi&lt;br /&gt;
|-&lt;br /&gt;
| timesynced || int2||YES|| TimeSynced (0=not sy:wnced, 1=user set, 2=Gps Synced)&lt;br /&gt;
|-&lt;br /&gt;
|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)&lt;br /&gt;
|-&lt;br /&gt;
| vbat || float8 ||YES|| Battery voltage in V (0-~4.200V) &lt;br /&gt;
|-&lt;br /&gt;
|logb || int4 ||YES|| logged bytes, waiting for download (0-4Mbyte)&lt;br /&gt;
|-&lt;br /&gt;
| logp || int2 ||YES|| Logged percentage (units 0.1%) of memory waiting to be downloaded (0-1000)&lt;br /&gt;
|-&lt;br /&gt;
| gpsii || int4 ||YES|| GpsIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|comii || int4||YES|| ComIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|accii || int4||YES|| AcceleroIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|swddd || int4||YES|| User switches, current (0-65535) &lt;br /&gt;
|-&lt;br /&gt;
|last_gps_fix ||timestamp||YES||timestamp of last fix&lt;br /&gt;
|-&lt;br /&gt;
|latitude||float8||YES||Latitude of last fix. Decimal degrees &lt;br /&gt;
|-&lt;br /&gt;
|longitude||float8||YES||Longitude of last fix. Decimal degrees&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_energy_limited ===&lt;br /&gt;
&lt;br /&gt;
Only for newer firmware.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Date and time of the reported data&lt;br /&gt;
|-&lt;br /&gt;
|timesynced ||int2||YES||TimeSynced (0=not synced, 1=user set, 2=Gps synced)&lt;br /&gt;
|-&lt;br /&gt;
|devicemode ||int2||YES||(0-99)&lt;br /&gt;
|-&lt;br /&gt;
|vsll ||float8||YES||Solar Voltage during charging in mV (0-~2500)&lt;br /&gt;
|-&lt;br /&gt;
|vbat ||float8||YES||Battery Voltage in V (0-~4.200)&lt;br /&gt;
|-&lt;br /&gt;
|ssw ||int2||YES|| Solar Cell Switches ... (0-255) fw1022 and up &lt;br /&gt;
|-&lt;br /&gt;
| ||||YES||extended fields if special user switch is on &lt;br /&gt;
|-&lt;br /&gt;
|vsoo ||float8||YES|| Solar voltage open in V (0-~2.500)&lt;br /&gt;
|-&lt;br /&gt;
|vdrf ||float8||YES||reference voltage Dac in V (0-~2.435)&lt;br /&gt;
|-&lt;br /&gt;
|vchr ||float8||YES||charge current voltage&lt;br /&gt;
|-&lt;br /&gt;
|g ||int2||YES|| Gps battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|c || int2||YES||Com battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|m || int2||YES||Charge Mode (0,1,2 Com battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|pressure || int4||YES|| in pascal (1mBar = 100Pa, 1pressuremeter = ~12Pa)&lt;br /&gt;
|-&lt;br /&gt;
|temperature || float8||YES|| in celcius degrees   &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_settings_limited ===&lt;br /&gt;
&lt;br /&gt;
Settings are either from C0-C1-C9 lines or parsed from uplink communication lines. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Derived timestamp from Hh:mi fields in C0 combined with computer timestamp in JOINED line&lt;br /&gt;
|-&lt;br /&gt;
|timesynced || int2 ||YES||&lt;br /&gt;
|-&lt;br /&gt;
|timezone_time || int2 ||YES||&lt;br /&gt;
|-&lt;br /&gt;
|swddd || int4||YES|| SpecialUserSwitches &lt;br /&gt;
|-&lt;br /&gt;
|gpsnavmode || int2||YES|| GpsNavMode 0-8. This is the Kalman filter used for GPS navigation mode often called the &amp;quot;Dynamic platform model&amp;quot;. 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 &amp;lt; 1g acceleration, 7 = airborne with &amp;lt; 2g acceleration, 8 = airborne with &amp;lt; 4g acceleration &lt;br /&gt;
|-&lt;br /&gt;
|gpsreceivermode || int2 ||YES|| GpsReceiverNode 0-3&lt;br /&gt;
|-&lt;br /&gt;
|gpsfixtime || int2||YES|| GpsFixTime 0-255&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln_on_h || int2||YES|| hours Gps IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln_on_m || int2||YES|| minutes Gps IvalN on &lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln  || int4||YES|| GpsIvalN (0-65530)&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale_on_h || int2||YES|| hours Gps IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale_on_m || int2||YES|| minutes GpS IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale  || int4||YES|| GpsIvalE &lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln_on_h || int2||YES|| hours Com IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln_on_m || int2||YES|| minutes Com IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln || int4||YES|| ComIvalN (0-65530)&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale_on_h || int2||YES|| hours Com IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale_on_m || int2||YES|| minutes Com IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale || int4||YES|| ComIvalE&lt;br /&gt;
|-&lt;br /&gt;
|accii || int4||YES|| Accelero measurement interval         &lt;br /&gt;
|-&lt;br /&gt;
|accbn || int4||YES|| Accelero number of blocks &lt;br /&gt;
|-&lt;br /&gt;
|accsn || int4||YES|| Accelero number of samples (0-65536)&lt;br /&gt;
|-&lt;br /&gt;
|f || int2||YES||Accelero sample frequency  (0=20Hz, 1=10Hz, 2=5Hz, 3=1Hz)&lt;br /&gt;
|-&lt;br /&gt;
|pdp || int2||YES|| PdopMsk (3-250)&lt;br /&gt;
|-&lt;br /&gt;
|pac||int2||YES|| PaccMsk (10-100)&lt;br /&gt;
|-&lt;br /&gt;
|tdp ||int2||YES|| TdopMsk (3-250)&lt;br /&gt;
|-&lt;br /&gt;
|tac ||int2||YES|| TaccMsk (30-300)&lt;br /&gt;
|-&lt;br /&gt;
|ga || int2||YES|| Additional Fixes GpsIval mode (3-25) before interval fix is logged&lt;br /&gt;
|-&lt;br /&gt;
|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 &amp;lt; level - 5&lt;br /&gt;
|-&lt;br /&gt;
|eventnum || text||YES|| 12 eventnumbers (0-0xff) only printed if not zero, therfore converted to text&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_trackingfile_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows the status of the last attempt to parse (process) the raw data of a file for a given tracker, for each tracker that your projects allow you to see.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier of the row&lt;br /&gt;
|-&lt;br /&gt;
|date_reported||date||NO||Date that the file arrived&lt;br /&gt;
|-&lt;br /&gt;
|filename||varchar||NO||Name of the file&lt;br /&gt;
|-&lt;br /&gt;
|last_modified_date||timestamp||NO||Date that the file was last modified on&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||YES||Serial number of the tracker this file comes from&lt;br /&gt;
|-&lt;br /&gt;
|filesize||int8||NO||Size of the file in KB&lt;br /&gt;
|-&lt;br /&gt;
|parsed_date||timestamp||YES||Date and time that the file was last attempted to be parsed on&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||NO||Optimistic locking field. Ignore it as a user. &lt;br /&gt;
|-&lt;br /&gt;
|last_found_date||timestamp||YES||Last time that a process that runs to look for new files saw the file&lt;br /&gt;
|-&lt;br /&gt;
|n_lines||int4||YES||Count of lines found in the file last time it was processed&lt;br /&gt;
|-&lt;br /&gt;
|n_data_lines||int4||YES||Count of actual data lines, out of the total lines&lt;br /&gt;
|-&lt;br /&gt;
|n_tracking_records||int4||YES||Count of GPS fixes found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_communication_records||int4||YES||Count of communication records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_energy_records||int4||YES||Count of energy records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_acceleration_records||int4||YES||Count of acceleration records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_acceleration_start_records||int4||YES||Count of acceleration start records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_errors||int4||YES||Count of errors encountered during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_settings_records||int4||YES||Count of settings records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|filepath||text||NO||Directory path of the file on the server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_warning_limited ===&lt;br /&gt;
&lt;br /&gt;
Since firmware version 1.0.2.7 this table was added for events that do not occur very often (C10, C20) or errors that occur during parsing. &lt;br /&gt;
&lt;br /&gt;
For example all CRC failures can be selected with : &lt;br /&gt;
&lt;br /&gt;
  select * from gps.ee_warning_limited&lt;br /&gt;
  where warning = 'CRC8 failure'&lt;br /&gt;
  order by device_info_serial;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|filename||text||NO||File name &lt;br /&gt;
|-&lt;br /&gt;
|linenumber||integer||YES||line number in file &lt;br /&gt;
|-&lt;br /&gt;
|warning||text||YES||The warning message&lt;br /&gt;
|-&lt;br /&gt;
|line||text||YES||The actual line contents in the file &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sharings ==&lt;br /&gt;
&lt;br /&gt;
Projects can now share trackers with other projects during periods of time. This means that people in the receiving projects can access information that these shared trackers provide during those time periods. &lt;br /&gt;
&lt;br /&gt;
The following views allow you to see this shared information:&lt;br /&gt;
&lt;br /&gt;
* Tracking data&lt;br /&gt;
** ''gps.''ee_shared_tracking_speed_limited: tracking information (gps, speed), during the shared period, for trackers shared&lt;br /&gt;
** ''gps.''ee_shared_acc_start_limited: acceleration start information, during the shared period, for trackers shared&lt;br /&gt;
** ''gps.''ee_shared_acceleration_limited: acceleration information for trackers shared&lt;br /&gt;
* Metadata&lt;br /&gt;
** ''gps.''ee_shared_tracker_limited: information about each shared tracker&lt;br /&gt;
** ''gps.''ee_shared_individual_limited: information about birds with shared trackers&lt;br /&gt;
** ''gps.''ee_shared_track_session_limited: information about track sessions which involve shared trackers&lt;br /&gt;
* Relation to projects&lt;br /&gt;
** ''gps.''ee_shared_tracker_sharing_limited: view information for each sharing that your projects allow you to see&lt;br /&gt;
&lt;br /&gt;
== Accelerometer calibration ==&lt;br /&gt;
&lt;br /&gt;
The accelerometer measures the acceleration in 3D (20 times per second). Acceleration is caused by gravity (static component) and by a change in speed (dynamic component). &lt;br /&gt;
When the logger is static in horizontal position (solar cells up), gravity (green arrow) shows a  heave (vertical acceleration, z) of +1 g (1 g = 9.81 m.s&amp;lt;sup&amp;gt;-2&amp;lt;/sup&amp;gt;) while surge and heave are both 0. When the front of the logger is vertically pointing down (forward acceleration, x), surge is +1g and when it is rolled to the right (sidewards acceleration, y) sway is +1g. Due to gravity, the pitch of a logger is thus translated into the values of heave, surge and sway (or z, x, y).&lt;br /&gt;
&lt;br /&gt;
However, the values are measured in mV instead of g. Before delivering the GPS-loggers, they have been calibrated at UvA. The acceleration (A) expressed in g is calculated from the measured value (M) and the calibration factors offset (''O'') and sensitivity (''S'').&lt;br /&gt;
&lt;br /&gt;
Thus acceleration for heave (z), surge (x) and sway (y) is calculated as:&lt;br /&gt;
A&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; = (M&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;-O&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;)/S&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; ;      A&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; = (M&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;-O&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;)/S&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;;      A&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; = (M&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt;-O&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt;)/S&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; ; &lt;br /&gt;
&lt;br /&gt;
The values of ''O'' (in general ranging from 0-60, sometimes even 300) and ''S'' (ranging from 1300-1450) are available in the device table of the data base. If not available, use the factory defaults ''O'' = 0 and ''S'' = 1365.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[File:accelero1.png|300px]]||[[File:accelero2.png|300px]]|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the figure above heave (z) is shown in green, surge(x) in red and sway (y) in blue, all values are expressed in g (on the y-axis).&lt;br /&gt;
&lt;br /&gt;
== Data processing and filtering ==&lt;br /&gt;
The raw log files are processed before being entered into the database. Each firmware version has a dedicated parser for the task. In certain cases data that is found in the log files is not stored in the database.  This can occur for two reasons:&lt;br /&gt;
&lt;br /&gt;
1. The data did not pass the CRC8 checksum (cyclic redundancy check). This is a standard procedure designed to detect accidental changes to raw computer data.&lt;br /&gt;
&lt;br /&gt;
2. If the data has an invalid signature. For example, if a certain data format (eg numeric) or number of values (eg 4 digits) is expected but not returned, this record is not stored in the database.&lt;br /&gt;
&lt;br /&gt;
When a line is deleted, the log file name, line number and the type of error is stored in the table gps.uva_warning102&lt;br /&gt;
&lt;br /&gt;
== Information about GPS receivers ==&lt;br /&gt;
The first series of tags used the UBlox LEAS4S chip (~up to tag 541), newer tags use UBlox LEAS6S. The series developed in 2012 will use the Max6G receivers. From 2012 receiver versions will be stored in the database.&lt;br /&gt;
The UBX protocol is used for programming firmware, packaging and processing data.&lt;br /&gt;
For more information about the receivers themselves see the ublox documentation.&lt;br /&gt;
Ublox 4 Protocol specification [http://www.u-blox.com/images/downloads/Product_Docs/ANTARIS_Protocol_Specification%28GPS.G3-X-03002%29.zip]&lt;br /&gt;
Ublox 6 Protocol specification [http://www.u-blox.com/images/downloads/Product_Docs/u-blox6_ReceiverDescriptionProtocolSpec_%28GPS.G6-SW-10018%29.pdf]&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=UvA-BiTS_Tracking_Data&amp;diff=1425</id>
		<title>UvA-BiTS Tracking Data</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=UvA-BiTS_Tracking_Data&amp;diff=1425"/>
				<updated>2021-01-21T16:56:33Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* gps.ee_tracking_speed_limited */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== UvA-BiTS Tracking Data ==&lt;br /&gt;
&lt;br /&gt;
'''Note:''' These views will show no rows for trackers not yet attached to birds.&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_tracking_speed_limited ===&lt;br /&gt;
&lt;br /&gt;
Shows the tracking data that your projects allow you to see. &lt;br /&gt;
&lt;br /&gt;
Each row represents a GPS fix as it is interpreted from the data that comes via the GPS tracker, plus it adds speeds.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the fix. Part of the unique identifier of the GPS fix.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time when the fix was taken. UTC (i.e.: no timezone). Part of the unique identifier of the GPS fix. &lt;br /&gt;
|-&lt;br /&gt;
|latitude||float8||YES||Latitude of the GPS fix, decimal degrees (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|longitude||float8||YES||Longitude of the GPS fix, decimal degrees (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|altitude||int4||YES||Altitude above sea level measured by GPS tag in meters (WGS84 datum)&lt;br /&gt;
|-&lt;br /&gt;
|pressure||int4||YES||Pressure measured by GPS tag sensor in Pascals&lt;br /&gt;
|-&lt;br /&gt;
|temperature||float8||YES||Temperature measured by GPS tag sensor in Celsius&lt;br /&gt;
|-&lt;br /&gt;
|h_accuracy||float8||YES||Horizontal accuracy (meters)&lt;br /&gt;
|-&lt;br /&gt;
|v_accuracy||float8||YES||vertical accuracy (meters)&lt;br /&gt;
|-&lt;br /&gt;
|x_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|y_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|z_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|gps_fixtime||float8||YES||GPS fix time (also known as Time to Fix) in seconds&lt;br /&gt;
|-&lt;br /&gt;
|userflag||int4||YES||Acceptable = 0; Data flagged as unacceptable by user if not equal to 0.&lt;br /&gt;
|-&lt;br /&gt;
|satellites_used||int2||YES||Number of satellites used for fix the GPS measurement&lt;br /&gt;
|-&lt;br /&gt;
|positiondop||float8||YES||Positional DOP (Dilution of Precision), unitless&lt;br /&gt;
|-&lt;br /&gt;
|speed_accuracy||float8||YES||&lt;br /&gt;
|-&lt;br /&gt;
|location||geometry||YES||postgreSQL geometry; to allow GIS operations&lt;br /&gt;
|-&lt;br /&gt;
|vnorth||float8||YES||- vx * sin(lat) * cos(long) - vy * sin(lat) * sin (long) + vz * cos(lat), m/s&lt;br /&gt;
|-&lt;br /&gt;
|veast||float8||YES||- vx * sin(lon) + vy * cos(lon), m/s&lt;br /&gt;
|-&lt;br /&gt;
|vdown||float8||YES||- vx * cos(lat) * cos(lon) - vy * cos(lat) * sin(lon) - vz * sin(lat), m/s&lt;br /&gt;
|-&lt;br /&gt;
|speed||float8||YES||- vx * sin(lon) + vy * cos(lon)&lt;br /&gt;
|-&lt;br /&gt;
|speed_3d||float8||YES|| sqrt(d.x_speed^2 + d.y_speed^2 + d.z_speed^2), m/s&lt;br /&gt;
|-&lt;br /&gt;
|speed_2d||float8||YES|| Speed on 2D, m/s&lt;br /&gt;
|-&lt;br /&gt;
|direction||numeric||YES|| Heading in degrees; 0 is north, 90 is east&lt;br /&gt;
|-&lt;br /&gt;
|altitude_agl||float8||YES|| Reported GPS altitude MINUS terrain elevation on the coordinate based on Digital Elevation Model data used in the e-ecology database (for further information see: [[Elevation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_acceleration_limited ===&lt;br /&gt;
&lt;br /&gt;
Acceleration is measured in blocks of 1-200 measurements (records). The date_time  mentioned in this block is the date and time of the first acceleration measurement. Sequential measurements within a block are numbered with an index 1... (max 200). Every row represents one measurement in 3 directions (X,Y,Z). The order is important within each block, so you should always sort the acceleration measurements by block and index. If you need the exact time for each row, you can calculate it from the index, the sample frequency (which is almost always 20 Hz) and the date_time of the first row in the block.&lt;br /&gt;
&lt;br /&gt;
The date_time of the first block is the time of the GPS measurement preceding the accelerometer measurement. If there is no valid GPS measurement, this time is calculated from the last GPS measurement and the time of the internal clock of the tracker.&lt;br /&gt;
&lt;br /&gt;
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 in gps.ee_tracking_speed_limited for the given tracker, column date_time on gps.ee_acc_start_limited, and all the values on column date_time for that tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This table structure has ''not'' changed with respect to our previous database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the fix. Part of the unique identifier of the GPS fix.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time of the acceleration block that this measurement belongs to (time in UTC, no time zone).&lt;br /&gt;
|-&lt;br /&gt;
|index||int2||NO||Sorting order of the measurement within the acceleration block (each block starts at 0).&lt;br /&gt;
|-&lt;br /&gt;
|x_acceleration||int2||YES||Acceleration measured on the x (or surge) axis (range between -2666 and 2666).&lt;br /&gt;
|-&lt;br /&gt;
|y_acceleration||int2||YES||Acceleration measured on the y (or sway) axis (range between -2666 and 2666).&lt;br /&gt;
|-&lt;br /&gt;
|z_acceleration||int2||YES||Acceleration measured on the z (or heave) axis (range between -2666 and 2666).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_acc_start_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row represents the start of a block of acceleration measurements when a GPS fix is not available at that acceleration block's time. &lt;br /&gt;
&lt;br /&gt;
If there is no valid GPS measurement, this time is calculated from the last GPS measurement and the time of the internal clock of the tracker.&lt;br /&gt;
 &lt;br /&gt;
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 gps.ee_tracking_speed_limited for the given tracker, column date_time on gps.ee_acc_start_limited, 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. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Added in firmware 1.0.2.7.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the acceleration measurement.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time to mark the start of the acceleration block.&lt;br /&gt;
|-&lt;br /&gt;
|line_counter||int4||NO||Number of lines associated with this set of accelerations.&lt;br /&gt;
|-&lt;br /&gt;
|timesynced||int2||YES||The source of the time that marks the acceleration block (0=not synced, 1=user set, 2=Gps Synced).&lt;br /&gt;
|-&lt;br /&gt;
|ascii||int4||YES||Acceleration measurement interval.&lt;br /&gt;
|-&lt;br /&gt;
|accsn||int4||YES||Number of samples (0-65536).&lt;br /&gt;
|-&lt;br /&gt;
|f||int2||YES||Acceleration sampling frequency (0=20Hz, 1=10Hz, 2=5Hz, 3=1Hz).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bird data ==&lt;br /&gt;
=== ''gps.''ee_individual_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows bird's details for all birds that your projects allow you to see.&lt;br /&gt;
&lt;br /&gt;
This view replaces the old gps.uva_individual_limited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||Ring number.&lt;br /&gt;
|-&lt;br /&gt;
|species_latin_name||varchar||NO||Latin name of the species of the bird.&lt;br /&gt;
|-&lt;br /&gt;
|colour_ring||varchar||YES||String for ring colour.&lt;br /&gt;
|-&lt;br /&gt;
|sex||varchar||NO||Sex (M=male, F=female, X=unknown/unspecified)&lt;br /&gt;
|-&lt;br /&gt;
|mass||numeric(5,0)||YES||Mass (grams)&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date when the bird was first tracked with an UvA-BiTS logger.&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the bird is no longer relevant for the tracking project.&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Text for user remarks&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Bird unique id. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_species_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row represents a species that you can assign to your birds to include them in your project. No bird in the system can exist without being linked to one of the species from this list. If you are tagging a bird whose species does not exist in the list, please [http://www.uva-bits.nl/contact/ contact] us.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|abbr||varchar||NO||Unique abbreviation for this species.&lt;br /&gt;
|-&lt;br /&gt;
|english_name||varchar||YES||Name of the species in English. &lt;br /&gt;
|-&lt;br /&gt;
|latin_name||varchar||NO||Name of the species in Latin. It is always filled in.&lt;br /&gt;
|-&lt;br /&gt;
|species_id||int8||NO||Unique id. Added to allow joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_nest_limited ===&lt;br /&gt;
This view shows nests you have access to. A nest is always for a bird with a tracker (so a track session must exist for that bird), and must contain a short name (a reference name for you to use) and a latitude and longitude pair.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|reference_name||varchar||NO||A string with a useful reference for you. We recommend its being unique for each nest in a project, but the system does NOT enforce it.&lt;br /&gt;
|-&lt;br /&gt;
|latitude||numeric||YES||Latitude of the coordinates where the nest was found, decimal degrees.&lt;br /&gt;
|-&lt;br /&gt;
|longitude||numeric||YES||Longitude of the coordinates where the nest was found, decimal degrees.&lt;br /&gt;
|-&lt;br /&gt;
|start_date_time||timestamp||NO||When the nest was spotted.&lt;br /&gt;
|-&lt;br /&gt;
|end_date_time||timestamp||NO||When the nest ceases to be relevant.&lt;br /&gt;
|-&lt;br /&gt;
|found_by_whom||varchar||YES||Place to credit people involved in finding the nest.&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Free text.&lt;br /&gt;
|-&lt;br /&gt;
|location||bytearray||YES||Calculated Geometry of the coordinates where the nest was found.&lt;br /&gt;
|-&lt;br /&gt;
|nest_id||int8||NO||Unique id. Added to allow joins to nest_inhabitant_limited.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_nest_inhabitant_limited ===&lt;br /&gt;
This view shows who lives on which nest, for birds you have access to. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|reference_name||varchar||NO||A string belonging to the nest that you can use to identify that nest. Because it is NOT enforced to be unique, DO NOT USE THIS FIELD FOR JOINING.&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||The ring number of a bird on a nest.&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Following the link from a bird to her track sessions, and considering the nest's start and end time, the bird's trackers within that period are resolved so that they can be shown here. This is the device_info_serial of a tracker.&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||Following the link from a bird to her track sessions, and considering the nest's start and end time, the track sessions' projects within that period are resolved so that they can be shown here. This is the key_name of a project.&lt;br /&gt;
|-&lt;br /&gt;
|nest_id||int8||NO||Reference to the nest id. Added to allow joins.&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Reference to the individual id. Added to allow joins.&lt;br /&gt;
|-&lt;br /&gt;
|track_session_id||int8||NO||Reference to a resolved track session id. Added to allow joins.&lt;br /&gt;
|}&lt;br /&gt;
== Tracker and project data ==&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_project_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows the details of each project, for the projects you are allowed to see.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||Unique key name, with the form &amp;lt;species&amp;gt;_&amp;lt;place&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|station_name||varchar||NO||Where the receiving station is&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Project start date&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the project is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|description||text||YES||String for free description. Updatable by the user.&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Project unique id. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|parent_id||int8||YES||Reference to the parent project in the hierarchy.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_tracker_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows tracker details for all trackers that your projects allow you to see.&lt;br /&gt;
&lt;br /&gt;
This view replaces the old gps.uva_device_limited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|firmware_version||varchar||YES||String for firmware version&lt;br /&gt;
|-&lt;br /&gt;
|mass||numeric(4,2)||YES||Mass (in grams)&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date before which the device is not relevant&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the device is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|x_o||numeric(30,6)||YES||Accelerometer calibration: offset on the x (or surge) axis&lt;br /&gt;
|-&lt;br /&gt;
|x_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the x (or surge) axis&lt;br /&gt;
|-&lt;br /&gt;
|y_o||numeric(30,6)||YES||Accelerometer calibration: offset on the y (or sway) axis&lt;br /&gt;
|-&lt;br /&gt;
|y_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the y (or sway) axis&lt;br /&gt;
|-&lt;br /&gt;
|z_o||numeric(30,6)||YES||Accelerometer calibration: offset on the z (or heave) axis&lt;br /&gt;
|-&lt;br /&gt;
|z_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the y (or heave) axis&lt;br /&gt;
|-&lt;br /&gt;
|tracker_id||int8||NO||Tracker unique id. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_track_session_limited ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Each row shows track session's information. There exists a row for each track session that your projects allow you to see. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||The project that the track session belongs to.&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Serial number of the tracker this track session involves.&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||Ring number of the bird that this track session involves.&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date before which the track session is not relevant&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the track session is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Free text for comments&lt;br /&gt;
|-&lt;br /&gt;
|start_latitude||numeric(11,8)||NO||Latitude where the bird was tagged, decimal degrees (WGS1984 Ellipsoid)&lt;br /&gt;
|-&lt;br /&gt;
|start_longitude||numeric(11,8)||NO||Longitude where the bird was tagged, decimal degrees (WGS1984 Ellipsoid)&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Reference to the project this track session belongs to. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|tracker_id||int8||NO||Reference to the tracker this track session involves. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Reference to the individual this track session involves. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|track_session_id||int8||NO||Unique identifier of the track session. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Relation to projects ==&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_user_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows a colleague in a project that you belong to, indicating her role and status there.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||Project name&lt;br /&gt;
|-&lt;br /&gt;
|email||varchar||NO||e-mail address&lt;br /&gt;
|-&lt;br /&gt;
|login_name||varchar||NO||Login name&lt;br /&gt;
|-&lt;br /&gt;
|name||varchar||NO||(first) name&lt;br /&gt;
|-&lt;br /&gt;
|surname||varchar||NO||Surname&lt;br /&gt;
|-&lt;br /&gt;
|role||varchar||NO||Role in the project&lt;br /&gt;
|-&lt;br /&gt;
|status||varchar||NO||Status of the membership&lt;br /&gt;
|-&lt;br /&gt;
|user_id||int8||NO||Unique identifier of the user. Included to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_tracker_ownership_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row that you see expresses that a tracker belongs to one of the projects you are involved with. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||The project that the tracker belongs to.&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Serial number of the tracker.&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Reference to the project. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|tracker_id||int8||NO||Reference to the tracker. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_individual_ownership_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row that you see expresses that a bird belongs to one of the projects you are involved with. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||The project that the individual belongs to.&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||Ring number of the bird.&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Reference to the project. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Reference to the individual. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Engineering data ==&lt;br /&gt;
&lt;br /&gt;
'''Note:''' These views will show no rows for trackers not yet attached to birds.&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_comm_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row indicates status and result of communications with ground stations for each tracker that your project allows you to see. &lt;br /&gt;
&lt;br /&gt;
Only for newer firmware (v.1.0.1.4 and higher).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
| device_info_serial || int4 || NO || Serial number of the tracker.&lt;br /&gt;
|-&lt;br /&gt;
| date_time || timestamp || NO || timestamp of start communication&lt;br /&gt;
|-&lt;br /&gt;
| date_time_end || timestamp ||YES|| timestamp of end communication           &lt;br /&gt;
|-&lt;br /&gt;
| date_time_utc || timestamp ||YES|| date_time in utc (if available)&lt;br /&gt;
|-&lt;br /&gt;
| date_time_end_utc || timestamp ||YES|| date_time_end in utc (if available)&lt;br /&gt;
|-&lt;br /&gt;
| action || text||YES|| JOINED / RESCHEDULE  ??&lt;br /&gt;
|-&lt;br /&gt;
| bytes_communicated || int4 ||YES|| Number of bytes communicated (total of all bytes per DATA line)  &lt;br /&gt;
|-&lt;br /&gt;
|status || text ||YES|| READY, TIMEOUT, LOWPOWER, MISSING&lt;br /&gt;
|-&lt;br /&gt;
| network_join_time || int4||YES||milliseconds&lt;br /&gt;
|-&lt;br /&gt;
| number_identical_lines || int4 ||YES|| Number identical lines in data block. Gives indication &lt;br /&gt;
|-&lt;br /&gt;
| non_ascii_char || int4 ||YES|| Number of non ascii characters (indicated by question-mark ?)&lt;br /&gt;
|-&lt;br /&gt;
| sts_time || timestamp ||YES|| derived from S0 hh,mi&lt;br /&gt;
|-&lt;br /&gt;
| timesynced || int2||YES|| TimeSynced (0=not sy:wnced, 1=user set, 2=Gps Synced)&lt;br /&gt;
|-&lt;br /&gt;
|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)&lt;br /&gt;
|-&lt;br /&gt;
| vbat || float8 ||YES|| Battery voltage in V (0-~4.200V) &lt;br /&gt;
|-&lt;br /&gt;
|logb || int4 ||YES|| logged bytes, waiting for download (0-4Mbyte)&lt;br /&gt;
|-&lt;br /&gt;
| logp || int2 ||YES|| Logged percentage (units 0.1%) of memory waiting to be downloaded (0-1000)&lt;br /&gt;
|-&lt;br /&gt;
| gpsii || int4 ||YES|| GpsIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|comii || int4||YES|| ComIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|accii || int4||YES|| AcceleroIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|swddd || int4||YES|| User switches, current (0-65535) &lt;br /&gt;
|-&lt;br /&gt;
|last_gps_fix ||timestamp||YES||timestamp of last fix&lt;br /&gt;
|-&lt;br /&gt;
|latitude||float8||YES||Latitude of last fix. Decimal degrees &lt;br /&gt;
|-&lt;br /&gt;
|longitude||float8||YES||Longitude of last fix. Decimal degrees&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_energy_limited ===&lt;br /&gt;
&lt;br /&gt;
Only for newer firmware.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Date and time of the reported data&lt;br /&gt;
|-&lt;br /&gt;
|timesynced ||int2||YES||TimeSynced (0=not synced, 1=user set, 2=Gps synced)&lt;br /&gt;
|-&lt;br /&gt;
|devicemode ||int2||YES||(0-99)&lt;br /&gt;
|-&lt;br /&gt;
|vsll ||float8||YES||Solar Voltage during charging in mV (0-~2500)&lt;br /&gt;
|-&lt;br /&gt;
|vbat ||float8||YES||Battery Voltage in V (0-~4.200)&lt;br /&gt;
|-&lt;br /&gt;
|ssw ||int2||YES|| Solar Cell Switches ... (0-255) fw1022 and up &lt;br /&gt;
|-&lt;br /&gt;
| ||||YES||extended fields if special user switch is on &lt;br /&gt;
|-&lt;br /&gt;
|vsoo ||float8||YES|| Solar voltage open in V (0-~2.500)&lt;br /&gt;
|-&lt;br /&gt;
|vdrf ||float8||YES||reference voltage Dac in V (0-~2.435)&lt;br /&gt;
|-&lt;br /&gt;
|vchr ||float8||YES||charge current voltage&lt;br /&gt;
|-&lt;br /&gt;
|g ||int2||YES|| Gps battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|c || int2||YES||Com battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|m || int2||YES||Charge Mode (0,1,2 Com battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|pressure || int4||YES|| in pascal (1mBar = 100Pa, 1pressuremeter = ~12Pa)&lt;br /&gt;
|-&lt;br /&gt;
|temperature || float8||YES|| in celcius degrees   &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_settings_limited ===&lt;br /&gt;
&lt;br /&gt;
Settings are either from C0-C1-C9 lines or parsed from uplink communication lines. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Derived timestamp from Hh:mi fields in C0 combined with computer timestamp in JOINED line&lt;br /&gt;
|-&lt;br /&gt;
|timesynced || int2 ||YES||&lt;br /&gt;
|-&lt;br /&gt;
|timezone_time || int2 ||YES||&lt;br /&gt;
|-&lt;br /&gt;
|swddd || int4||YES|| SpecialUserSwitches &lt;br /&gt;
|-&lt;br /&gt;
|gpsnavmode || int2||YES|| GpsNavMode 0-8. This is the Kalman filter used for GPS navigation mode often called the &amp;quot;Dynamic platform model&amp;quot;. 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 &amp;lt; 1g acceleration, 7 = airborne with &amp;lt; 2g acceleration, 8 = airborne with &amp;lt; 4g acceleration &lt;br /&gt;
|-&lt;br /&gt;
|gpsreceivermode || int2 ||YES|| GpsReceiverNode 0-3&lt;br /&gt;
|-&lt;br /&gt;
|gpsfixtime || int2||YES|| GpsFixTime 0-255&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln_on_h || int2||YES|| hours Gps IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln_on_m || int2||YES|| minutes Gps IvalN on &lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln  || int4||YES|| GpsIvalN (0-65530)&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale_on_h || int2||YES|| hours Gps IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale_on_m || int2||YES|| minutes GpS IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale  || int4||YES|| GpsIvalE &lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln_on_h || int2||YES|| hours Com IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln_on_m || int2||YES|| minutes Com IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln || int4||YES|| ComIvalN (0-65530)&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale_on_h || int2||YES|| hours Com IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale_on_m || int2||YES|| minutes Com IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale || int4||YES|| ComIvalE&lt;br /&gt;
|-&lt;br /&gt;
|accii || int4||YES|| Accelero measurement interval         &lt;br /&gt;
|-&lt;br /&gt;
|accbn || int4||YES|| Accelero number of blocks &lt;br /&gt;
|-&lt;br /&gt;
|accsn || int4||YES|| Accelero number of samples (0-65536)&lt;br /&gt;
|-&lt;br /&gt;
|f || int2||YES||Accelero sample frequency  (0=20Hz, 1=10Hz, 2=5Hz, 3=1Hz)&lt;br /&gt;
|-&lt;br /&gt;
|pdp || int2||YES|| PdopMsk (3-250)&lt;br /&gt;
|-&lt;br /&gt;
|pac||int2||YES|| PaccMsk (10-100)&lt;br /&gt;
|-&lt;br /&gt;
|tdp ||int2||YES|| TdopMsk (3-250)&lt;br /&gt;
|-&lt;br /&gt;
|tac ||int2||YES|| TaccMsk (30-300)&lt;br /&gt;
|-&lt;br /&gt;
|ga || int2||YES|| Additional Fixes GpsIval mode (3-25) before interval fix is logged&lt;br /&gt;
|-&lt;br /&gt;
|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 &amp;lt; level - 5&lt;br /&gt;
|-&lt;br /&gt;
|eventnum || text||YES|| 12 eventnumbers (0-0xff) only printed if not zero, therfore converted to text&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_trackingfile_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows the status of the last attempt to parse (process) the raw data of a file for a given tracker, for each tracker that your projects allow you to see.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier of the row&lt;br /&gt;
|-&lt;br /&gt;
|date_reported||date||NO||Date that the file arrived&lt;br /&gt;
|-&lt;br /&gt;
|filename||varchar||NO||Name of the file&lt;br /&gt;
|-&lt;br /&gt;
|last_modified_date||timestamp||NO||Date that the file was last modified on&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||YES||Serial number of the tracker this file comes from&lt;br /&gt;
|-&lt;br /&gt;
|filesize||int8||NO||Size of the file in KB&lt;br /&gt;
|-&lt;br /&gt;
|parsed_date||timestamp||YES||Date and time that the file was last attempted to be parsed on&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||NO||Optimistic locking field. Ignore it as a user. &lt;br /&gt;
|-&lt;br /&gt;
|last_found_date||timestamp||YES||Last time that a process that runs to look for new files saw the file&lt;br /&gt;
|-&lt;br /&gt;
|n_lines||int4||YES||Count of lines found in the file last time it was processed&lt;br /&gt;
|-&lt;br /&gt;
|n_data_lines||int4||YES||Count of actual data lines, out of the total lines&lt;br /&gt;
|-&lt;br /&gt;
|n_tracking_records||int4||YES||Count of GPS fixes found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_communication_records||int4||YES||Count of communication records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_energy_records||int4||YES||Count of energy records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_acceleration_records||int4||YES||Count of acceleration records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_acceleration_start_records||int4||YES||Count of acceleration start records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_errors||int4||YES||Count of errors encountered during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_settings_records||int4||YES||Count of settings records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|filepath||text||NO||Directory path of the file on the server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_warning_limited ===&lt;br /&gt;
&lt;br /&gt;
Since firmware version 1.0.2.7 this table was added for events that do not occur very often (C10, C20) or errors that occur during parsing. &lt;br /&gt;
&lt;br /&gt;
For example all CRC failures can be selected with : &lt;br /&gt;
&lt;br /&gt;
  select * from gps.ee_warning_limited&lt;br /&gt;
  where warning = 'CRC8 failure'&lt;br /&gt;
  order by device_info_serial;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|filename||text||NO||File name &lt;br /&gt;
|-&lt;br /&gt;
|linenumber||integer||YES||line number in file &lt;br /&gt;
|-&lt;br /&gt;
|warning||text||YES||The warning message&lt;br /&gt;
|-&lt;br /&gt;
|line||text||YES||The actual line contents in the file &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sharings ==&lt;br /&gt;
&lt;br /&gt;
Projects can now share trackers with other projects during periods of time. This means that people in the receiving projects can access information that these shared trackers provide during those time periods. &lt;br /&gt;
&lt;br /&gt;
The following views allow you to see this shared information:&lt;br /&gt;
&lt;br /&gt;
* Tracking data&lt;br /&gt;
** ''gps.''ee_shared_tracking_speed_limited: tracking information (gps, speed), during the shared period, for trackers shared&lt;br /&gt;
** ''gps.''ee_shared_acc_start_limited: acceleration start information, during the shared period, for trackers shared&lt;br /&gt;
** ''gps.''ee_shared_acceleration_limited: acceleration information for trackers shared&lt;br /&gt;
* Metadata&lt;br /&gt;
** ''gps.''ee_shared_tracker_limited: information about each shared tracker&lt;br /&gt;
** ''gps.''ee_shared_individual_limited: information about birds with shared trackers&lt;br /&gt;
** ''gps.''ee_shared_track_session_limited: information about track sessions which involve shared trackers&lt;br /&gt;
* Relation to projects&lt;br /&gt;
** ''gps.''ee_shared_tracker_sharing_limited: view information for each sharing that your projects allow you to see&lt;br /&gt;
&lt;br /&gt;
== Accelerometer calibration ==&lt;br /&gt;
&lt;br /&gt;
The accelerometer measures the acceleration in 3D (20 times per second). Acceleration is caused by gravity (static component) and by a change in speed (dynamic component). &lt;br /&gt;
When the logger is static in horizontal position (solar cells up), gravity (green arrow) shows a  heave (vertical acceleration, z) of +1 g (1 g = 9.81 m.s&amp;lt;sup&amp;gt;-2&amp;lt;/sup&amp;gt;) while surge and heave are both 0. When the front of the logger is vertically pointing down (forward acceleration, x), surge is +1g and when it is rolled to the right (sidewards acceleration, y) sway is +1g. Due to gravity, the pitch of a logger is thus translated into the values of heave, surge and sway (or z, x, y).&lt;br /&gt;
&lt;br /&gt;
However, the values are measured in mV instead of g. Before delivering the GPS-loggers, they have been calibrated at UvA. The acceleration (A) expressed in g is calculated from the measured value (M) and the calibration factors offset (''O'') and sensitivity (''S'').&lt;br /&gt;
&lt;br /&gt;
Thus acceleration for heave (z), surge (x) and sway (y) is calculated as:&lt;br /&gt;
A&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; = (M&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;-O&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;)/S&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; ;      A&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; = (M&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;-O&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;)/S&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;;      A&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; = (M&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt;-O&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt;)/S&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; ; &lt;br /&gt;
&lt;br /&gt;
The values of ''O'' (in general ranging from 0-60, sometimes even 300) and ''S'' (ranging from 1300-1450) are available in the device table of the data base. If not available, use the factory defaults ''O'' = 0 and ''S'' = 1365.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[File:accelero1.png|300px]]||[[File:accelero2.png|300px]]|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the figure above heave (z) is shown in green, surge(x) in red and sway (y) in blue, all values are expressed in g (on the y-axis).&lt;br /&gt;
&lt;br /&gt;
== Data processing and filtering ==&lt;br /&gt;
The raw log files are processed before being entered into the database. Each firmware version has a dedicated parser for the task. In certain cases data that is found in the log files is not stored in the database.  This can occur for two reasons:&lt;br /&gt;
&lt;br /&gt;
1. The data did not pass the CRC8 checksum (cyclic redundancy check). This is a standard procedure designed to detect accidental changes to raw computer data.&lt;br /&gt;
&lt;br /&gt;
2. If the data has an invalid signature. For example, if a certain data format (eg numeric) or number of values (eg 4 digits) is expected but not returned, this record is not stored in the database.&lt;br /&gt;
&lt;br /&gt;
When a line is deleted, the log file name, line number and the type of error is stored in the table gps.uva_warning102&lt;br /&gt;
&lt;br /&gt;
== Information about GPS receivers ==&lt;br /&gt;
The first series of tags used the UBlox LEAS4S chip (~up to tag 541), newer tags use UBlox LEAS6S. The series developed in 2012 will use the Max6G receivers. From 2012 receiver versions will be stored in the database.&lt;br /&gt;
The UBX protocol is used for programming firmware, packaging and processing data.&lt;br /&gt;
For more information about the receivers themselves see the ublox documentation.&lt;br /&gt;
Ublox 4 Protocol specification [http://www.u-blox.com/images/downloads/Product_Docs/ANTARIS_Protocol_Specification%28GPS.G3-X-03002%29.zip]&lt;br /&gt;
Ublox 6 Protocol specification [http://www.u-blox.com/images/downloads/Product_Docs/u-blox6_ReceiverDescriptionProtocolSpec_%28GPS.G6-SW-10018%29.pdf]&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=UvA-BiTS_Tracking_Data&amp;diff=1424</id>
		<title>UvA-BiTS Tracking Data</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=UvA-BiTS_Tracking_Data&amp;diff=1424"/>
				<updated>2021-01-21T15:55:03Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* gps.ee_track_session_limited */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== UvA-BiTS Tracking Data ==&lt;br /&gt;
&lt;br /&gt;
'''Note:''' These views will show no rows for trackers not yet attached to birds.&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_tracking_speed_limited ===&lt;br /&gt;
&lt;br /&gt;
Shows the tracking data that your projects allow you to see. &lt;br /&gt;
&lt;br /&gt;
Each row represents a GPS fix as it is interpreted from the data that comes via the GPS tracker, plus it adds speeds.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the fix. Part of the unique identifier of the GPS fix.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time when the fix was taken. UTC (i.e.: no timezone). Part of the unique identifier of the GPS fix. &lt;br /&gt;
|-&lt;br /&gt;
|latitude||float8||YES||Latitude of the GPS fix, decimal degrees (WGS1984 Ellipsoid)&lt;br /&gt;
|-&lt;br /&gt;
|longitude||float8||YES||Longitude of the GPS fix, decimal degrees (WGS1984 Ellipsoid)&lt;br /&gt;
|-&lt;br /&gt;
|altitude||int4||YES||Altitude above sea level measured by GPS tag in meters (WGS1984 Ellipsoid)&lt;br /&gt;
|-&lt;br /&gt;
|pressure||int4||YES||Pressure measured by GPS tag sensor in Pascals&lt;br /&gt;
|-&lt;br /&gt;
|temperature||float8||YES||Temperature measured by GPS tag sensor in Celsius&lt;br /&gt;
|-&lt;br /&gt;
|h_accuracy||float8||YES||Horizontal accuracy (meters)&lt;br /&gt;
|-&lt;br /&gt;
|v_accuracy||float8||YES||vertical accuracy (meters)&lt;br /&gt;
|-&lt;br /&gt;
|x_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|y_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|z_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|gps_fixtime||float8||YES||GPS fix time (also known as Time to Fix) in seconds&lt;br /&gt;
|-&lt;br /&gt;
|userflag||int4||YES||Acceptable = 0; Data flagged as unacceptable by user if not equal to 0.&lt;br /&gt;
|-&lt;br /&gt;
|satellites_used||int2||YES||Number of satellites used for fix the GPS measurement&lt;br /&gt;
|-&lt;br /&gt;
|positiondop||float8||YES||Positional DOP (Dilution of Precision), unitless&lt;br /&gt;
|-&lt;br /&gt;
|speed_accuracy||float8||YES||&lt;br /&gt;
|-&lt;br /&gt;
|location||geometry||YES||postgreSQL geometry; to allow GIS operations&lt;br /&gt;
|-&lt;br /&gt;
|vnorth||float8||YES||- vx * sin(lat) * cos(long) - vy * sin(lat) * sin (long) + vz * cos(lat), m/s&lt;br /&gt;
|-&lt;br /&gt;
|veast||float8||YES||- vx * sin(lon) + vy * cos(lon), m/s&lt;br /&gt;
|-&lt;br /&gt;
|vdown||float8||YES||- vx * cos(lat) * cos(lon) - vy * cos(lat) * sin(lon) - vz * sin(lat), m/s&lt;br /&gt;
|-&lt;br /&gt;
|speed||float8||YES||- vx * sin(lon) + vy * cos(lon)&lt;br /&gt;
|-&lt;br /&gt;
|speed_3d||float8||YES|| sqrt(d.x_speed^2 + d.y_speed^2 + d.z_speed^2), m/s&lt;br /&gt;
|-&lt;br /&gt;
|speed_2d||float8||YES|| Speed on 2D, m/s&lt;br /&gt;
|-&lt;br /&gt;
|direction||numeric||YES|| Heading in degrees; 0 is north, 90 is east&lt;br /&gt;
|-&lt;br /&gt;
|altitude_agl||float8||YES|| Reported GPS altitude MINUS terrain elevation on the coordinate based on Digital Elevation Model data used in the e-ecology database (for further information see: [[Elevation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_acceleration_limited ===&lt;br /&gt;
&lt;br /&gt;
Acceleration is measured in blocks of 1-200 measurements (records). The date_time  mentioned in this block is the date and time of the first acceleration measurement. Sequential measurements within a block are numbered with an index 1... (max 200). Every row represents one measurement in 3 directions (X,Y,Z). The order is important within each block, so you should always sort the acceleration measurements by block and index. If you need the exact time for each row, you can calculate it from the index, the sample frequency (which is almost always 20 Hz) and the date_time of the first row in the block.&lt;br /&gt;
&lt;br /&gt;
The date_time of the first block is the time of the GPS measurement preceding the accelerometer measurement. If there is no valid GPS measurement, this time is calculated from the last GPS measurement and the time of the internal clock of the tracker.&lt;br /&gt;
&lt;br /&gt;
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 in gps.ee_tracking_speed_limited for the given tracker, column date_time on gps.ee_acc_start_limited, and all the values on column date_time for that tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This table structure has ''not'' changed with respect to our previous database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the fix. Part of the unique identifier of the GPS fix.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time of the acceleration block that this measurement belongs to (time in UTC, no time zone).&lt;br /&gt;
|-&lt;br /&gt;
|index||int2||NO||Sorting order of the measurement within the acceleration block (each block starts at 0).&lt;br /&gt;
|-&lt;br /&gt;
|x_acceleration||int2||YES||Acceleration measured on the x (or surge) axis (range between -2666 and 2666).&lt;br /&gt;
|-&lt;br /&gt;
|y_acceleration||int2||YES||Acceleration measured on the y (or sway) axis (range between -2666 and 2666).&lt;br /&gt;
|-&lt;br /&gt;
|z_acceleration||int2||YES||Acceleration measured on the z (or heave) axis (range between -2666 and 2666).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_acc_start_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row represents the start of a block of acceleration measurements when a GPS fix is not available at that acceleration block's time. &lt;br /&gt;
&lt;br /&gt;
If there is no valid GPS measurement, this time is calculated from the last GPS measurement and the time of the internal clock of the tracker.&lt;br /&gt;
 &lt;br /&gt;
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 gps.ee_tracking_speed_limited for the given tracker, column date_time on gps.ee_acc_start_limited, 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. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Added in firmware 1.0.2.7.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the acceleration measurement.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time to mark the start of the acceleration block.&lt;br /&gt;
|-&lt;br /&gt;
|line_counter||int4||NO||Number of lines associated with this set of accelerations.&lt;br /&gt;
|-&lt;br /&gt;
|timesynced||int2||YES||The source of the time that marks the acceleration block (0=not synced, 1=user set, 2=Gps Synced).&lt;br /&gt;
|-&lt;br /&gt;
|ascii||int4||YES||Acceleration measurement interval.&lt;br /&gt;
|-&lt;br /&gt;
|accsn||int4||YES||Number of samples (0-65536).&lt;br /&gt;
|-&lt;br /&gt;
|f||int2||YES||Acceleration sampling frequency (0=20Hz, 1=10Hz, 2=5Hz, 3=1Hz).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bird data ==&lt;br /&gt;
=== ''gps.''ee_individual_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows bird's details for all birds that your projects allow you to see.&lt;br /&gt;
&lt;br /&gt;
This view replaces the old gps.uva_individual_limited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||Ring number.&lt;br /&gt;
|-&lt;br /&gt;
|species_latin_name||varchar||NO||Latin name of the species of the bird.&lt;br /&gt;
|-&lt;br /&gt;
|colour_ring||varchar||YES||String for ring colour.&lt;br /&gt;
|-&lt;br /&gt;
|sex||varchar||NO||Sex (M=male, F=female, X=unknown/unspecified)&lt;br /&gt;
|-&lt;br /&gt;
|mass||numeric(5,0)||YES||Mass (grams)&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date when the bird was first tracked with an UvA-BiTS logger.&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the bird is no longer relevant for the tracking project.&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Text for user remarks&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Bird unique id. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_species_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row represents a species that you can assign to your birds to include them in your project. No bird in the system can exist without being linked to one of the species from this list. If you are tagging a bird whose species does not exist in the list, please [http://www.uva-bits.nl/contact/ contact] us.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|abbr||varchar||NO||Unique abbreviation for this species.&lt;br /&gt;
|-&lt;br /&gt;
|english_name||varchar||YES||Name of the species in English. &lt;br /&gt;
|-&lt;br /&gt;
|latin_name||varchar||NO||Name of the species in Latin. It is always filled in.&lt;br /&gt;
|-&lt;br /&gt;
|species_id||int8||NO||Unique id. Added to allow joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_nest_limited ===&lt;br /&gt;
This view shows nests you have access to. A nest is always for a bird with a tracker (so a track session must exist for that bird), and must contain a short name (a reference name for you to use) and a latitude and longitude pair.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|reference_name||varchar||NO||A string with a useful reference for you. We recommend its being unique for each nest in a project, but the system does NOT enforce it.&lt;br /&gt;
|-&lt;br /&gt;
|latitude||numeric||YES||Latitude of the coordinates where the nest was found, decimal degrees.&lt;br /&gt;
|-&lt;br /&gt;
|longitude||numeric||YES||Longitude of the coordinates where the nest was found, decimal degrees.&lt;br /&gt;
|-&lt;br /&gt;
|start_date_time||timestamp||NO||When the nest was spotted.&lt;br /&gt;
|-&lt;br /&gt;
|end_date_time||timestamp||NO||When the nest ceases to be relevant.&lt;br /&gt;
|-&lt;br /&gt;
|found_by_whom||varchar||YES||Place to credit people involved in finding the nest.&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Free text.&lt;br /&gt;
|-&lt;br /&gt;
|location||bytearray||YES||Calculated Geometry of the coordinates where the nest was found.&lt;br /&gt;
|-&lt;br /&gt;
|nest_id||int8||NO||Unique id. Added to allow joins to nest_inhabitant_limited.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_nest_inhabitant_limited ===&lt;br /&gt;
This view shows who lives on which nest, for birds you have access to. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|reference_name||varchar||NO||A string belonging to the nest that you can use to identify that nest. Because it is NOT enforced to be unique, DO NOT USE THIS FIELD FOR JOINING.&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||The ring number of a bird on a nest.&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Following the link from a bird to her track sessions, and considering the nest's start and end time, the bird's trackers within that period are resolved so that they can be shown here. This is the device_info_serial of a tracker.&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||Following the link from a bird to her track sessions, and considering the nest's start and end time, the track sessions' projects within that period are resolved so that they can be shown here. This is the key_name of a project.&lt;br /&gt;
|-&lt;br /&gt;
|nest_id||int8||NO||Reference to the nest id. Added to allow joins.&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Reference to the individual id. Added to allow joins.&lt;br /&gt;
|-&lt;br /&gt;
|track_session_id||int8||NO||Reference to a resolved track session id. Added to allow joins.&lt;br /&gt;
|}&lt;br /&gt;
== Tracker and project data ==&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_project_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows the details of each project, for the projects you are allowed to see.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||Unique key name, with the form &amp;lt;species&amp;gt;_&amp;lt;place&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|station_name||varchar||NO||Where the receiving station is&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Project start date&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the project is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|description||text||YES||String for free description. Updatable by the user.&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Project unique id. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|parent_id||int8||YES||Reference to the parent project in the hierarchy.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_tracker_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows tracker details for all trackers that your projects allow you to see.&lt;br /&gt;
&lt;br /&gt;
This view replaces the old gps.uva_device_limited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|firmware_version||varchar||YES||String for firmware version&lt;br /&gt;
|-&lt;br /&gt;
|mass||numeric(4,2)||YES||Mass (in grams)&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date before which the device is not relevant&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the device is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|x_o||numeric(30,6)||YES||Accelerometer calibration: offset on the x (or surge) axis&lt;br /&gt;
|-&lt;br /&gt;
|x_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the x (or surge) axis&lt;br /&gt;
|-&lt;br /&gt;
|y_o||numeric(30,6)||YES||Accelerometer calibration: offset on the y (or sway) axis&lt;br /&gt;
|-&lt;br /&gt;
|y_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the y (or sway) axis&lt;br /&gt;
|-&lt;br /&gt;
|z_o||numeric(30,6)||YES||Accelerometer calibration: offset on the z (or heave) axis&lt;br /&gt;
|-&lt;br /&gt;
|z_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the y (or heave) axis&lt;br /&gt;
|-&lt;br /&gt;
|tracker_id||int8||NO||Tracker unique id. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_track_session_limited ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Each row shows track session's information. There exists a row for each track session that your projects allow you to see. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||The project that the track session belongs to.&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Serial number of the tracker this track session involves.&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||Ring number of the bird that this track session involves.&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date before which the track session is not relevant&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the track session is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Free text for comments&lt;br /&gt;
|-&lt;br /&gt;
|start_latitude||numeric(11,8)||NO||Latitude where the bird was tagged, decimal degrees (WGS1984 Ellipsoid)&lt;br /&gt;
|-&lt;br /&gt;
|start_longitude||numeric(11,8)||NO||Longitude where the bird was tagged, decimal degrees (WGS1984 Ellipsoid)&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Reference to the project this track session belongs to. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|tracker_id||int8||NO||Reference to the tracker this track session involves. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Reference to the individual this track session involves. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|track_session_id||int8||NO||Unique identifier of the track session. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Relation to projects ==&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_user_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows a colleague in a project that you belong to, indicating her role and status there.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||Project name&lt;br /&gt;
|-&lt;br /&gt;
|email||varchar||NO||e-mail address&lt;br /&gt;
|-&lt;br /&gt;
|login_name||varchar||NO||Login name&lt;br /&gt;
|-&lt;br /&gt;
|name||varchar||NO||(first) name&lt;br /&gt;
|-&lt;br /&gt;
|surname||varchar||NO||Surname&lt;br /&gt;
|-&lt;br /&gt;
|role||varchar||NO||Role in the project&lt;br /&gt;
|-&lt;br /&gt;
|status||varchar||NO||Status of the membership&lt;br /&gt;
|-&lt;br /&gt;
|user_id||int8||NO||Unique identifier of the user. Included to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_tracker_ownership_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row that you see expresses that a tracker belongs to one of the projects you are involved with. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||The project that the tracker belongs to.&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Serial number of the tracker.&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Reference to the project. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|tracker_id||int8||NO||Reference to the tracker. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_individual_ownership_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row that you see expresses that a bird belongs to one of the projects you are involved with. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||The project that the individual belongs to.&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||Ring number of the bird.&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Reference to the project. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Reference to the individual. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Engineering data ==&lt;br /&gt;
&lt;br /&gt;
'''Note:''' These views will show no rows for trackers not yet attached to birds.&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_comm_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row indicates status and result of communications with ground stations for each tracker that your project allows you to see. &lt;br /&gt;
&lt;br /&gt;
Only for newer firmware (v.1.0.1.4 and higher).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
| device_info_serial || int4 || NO || Serial number of the tracker.&lt;br /&gt;
|-&lt;br /&gt;
| date_time || timestamp || NO || timestamp of start communication&lt;br /&gt;
|-&lt;br /&gt;
| date_time_end || timestamp ||YES|| timestamp of end communication           &lt;br /&gt;
|-&lt;br /&gt;
| date_time_utc || timestamp ||YES|| date_time in utc (if available)&lt;br /&gt;
|-&lt;br /&gt;
| date_time_end_utc || timestamp ||YES|| date_time_end in utc (if available)&lt;br /&gt;
|-&lt;br /&gt;
| action || text||YES|| JOINED / RESCHEDULE  ??&lt;br /&gt;
|-&lt;br /&gt;
| bytes_communicated || int4 ||YES|| Number of bytes communicated (total of all bytes per DATA line)  &lt;br /&gt;
|-&lt;br /&gt;
|status || text ||YES|| READY, TIMEOUT, LOWPOWER, MISSING&lt;br /&gt;
|-&lt;br /&gt;
| network_join_time || int4||YES||milliseconds&lt;br /&gt;
|-&lt;br /&gt;
| number_identical_lines || int4 ||YES|| Number identical lines in data block. Gives indication &lt;br /&gt;
|-&lt;br /&gt;
| non_ascii_char || int4 ||YES|| Number of non ascii characters (indicated by question-mark ?)&lt;br /&gt;
|-&lt;br /&gt;
| sts_time || timestamp ||YES|| derived from S0 hh,mi&lt;br /&gt;
|-&lt;br /&gt;
| timesynced || int2||YES|| TimeSynced (0=not sy:wnced, 1=user set, 2=Gps Synced)&lt;br /&gt;
|-&lt;br /&gt;
|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)&lt;br /&gt;
|-&lt;br /&gt;
| vbat || float8 ||YES|| Battery voltage in V (0-~4.200V) &lt;br /&gt;
|-&lt;br /&gt;
|logb || int4 ||YES|| logged bytes, waiting for download (0-4Mbyte)&lt;br /&gt;
|-&lt;br /&gt;
| logp || int2 ||YES|| Logged percentage (units 0.1%) of memory waiting to be downloaded (0-1000)&lt;br /&gt;
|-&lt;br /&gt;
| gpsii || int4 ||YES|| GpsIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|comii || int4||YES|| ComIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|accii || int4||YES|| AcceleroIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|swddd || int4||YES|| User switches, current (0-65535) &lt;br /&gt;
|-&lt;br /&gt;
|last_gps_fix ||timestamp||YES||timestamp of last fix&lt;br /&gt;
|-&lt;br /&gt;
|latitude||float8||YES||Latitude of last fix. Decimal degrees &lt;br /&gt;
|-&lt;br /&gt;
|longitude||float8||YES||Longitude of last fix. Decimal degrees&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_energy_limited ===&lt;br /&gt;
&lt;br /&gt;
Only for newer firmware.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Date and time of the reported data&lt;br /&gt;
|-&lt;br /&gt;
|timesynced ||int2||YES||TimeSynced (0=not synced, 1=user set, 2=Gps synced)&lt;br /&gt;
|-&lt;br /&gt;
|devicemode ||int2||YES||(0-99)&lt;br /&gt;
|-&lt;br /&gt;
|vsll ||float8||YES||Solar Voltage during charging in mV (0-~2500)&lt;br /&gt;
|-&lt;br /&gt;
|vbat ||float8||YES||Battery Voltage in V (0-~4.200)&lt;br /&gt;
|-&lt;br /&gt;
|ssw ||int2||YES|| Solar Cell Switches ... (0-255) fw1022 and up &lt;br /&gt;
|-&lt;br /&gt;
| ||||YES||extended fields if special user switch is on &lt;br /&gt;
|-&lt;br /&gt;
|vsoo ||float8||YES|| Solar voltage open in V (0-~2.500)&lt;br /&gt;
|-&lt;br /&gt;
|vdrf ||float8||YES||reference voltage Dac in V (0-~2.435)&lt;br /&gt;
|-&lt;br /&gt;
|vchr ||float8||YES||charge current voltage&lt;br /&gt;
|-&lt;br /&gt;
|g ||int2||YES|| Gps battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|c || int2||YES||Com battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|m || int2||YES||Charge Mode (0,1,2 Com battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|pressure || int4||YES|| in pascal (1mBar = 100Pa, 1pressuremeter = ~12Pa)&lt;br /&gt;
|-&lt;br /&gt;
|temperature || float8||YES|| in celcius degrees   &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_settings_limited ===&lt;br /&gt;
&lt;br /&gt;
Settings are either from C0-C1-C9 lines or parsed from uplink communication lines. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Derived timestamp from Hh:mi fields in C0 combined with computer timestamp in JOINED line&lt;br /&gt;
|-&lt;br /&gt;
|timesynced || int2 ||YES||&lt;br /&gt;
|-&lt;br /&gt;
|timezone_time || int2 ||YES||&lt;br /&gt;
|-&lt;br /&gt;
|swddd || int4||YES|| SpecialUserSwitches &lt;br /&gt;
|-&lt;br /&gt;
|gpsnavmode || int2||YES|| GpsNavMode 0-8. This is the Kalman filter used for GPS navigation mode often called the &amp;quot;Dynamic platform model&amp;quot;. 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 &amp;lt; 1g acceleration, 7 = airborne with &amp;lt; 2g acceleration, 8 = airborne with &amp;lt; 4g acceleration &lt;br /&gt;
|-&lt;br /&gt;
|gpsreceivermode || int2 ||YES|| GpsReceiverNode 0-3&lt;br /&gt;
|-&lt;br /&gt;
|gpsfixtime || int2||YES|| GpsFixTime 0-255&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln_on_h || int2||YES|| hours Gps IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln_on_m || int2||YES|| minutes Gps IvalN on &lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln  || int4||YES|| GpsIvalN (0-65530)&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale_on_h || int2||YES|| hours Gps IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale_on_m || int2||YES|| minutes GpS IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale  || int4||YES|| GpsIvalE &lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln_on_h || int2||YES|| hours Com IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln_on_m || int2||YES|| minutes Com IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln || int4||YES|| ComIvalN (0-65530)&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale_on_h || int2||YES|| hours Com IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale_on_m || int2||YES|| minutes Com IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale || int4||YES|| ComIvalE&lt;br /&gt;
|-&lt;br /&gt;
|accii || int4||YES|| Accelero measurement interval         &lt;br /&gt;
|-&lt;br /&gt;
|accbn || int4||YES|| Accelero number of blocks &lt;br /&gt;
|-&lt;br /&gt;
|accsn || int4||YES|| Accelero number of samples (0-65536)&lt;br /&gt;
|-&lt;br /&gt;
|f || int2||YES||Accelero sample frequency  (0=20Hz, 1=10Hz, 2=5Hz, 3=1Hz)&lt;br /&gt;
|-&lt;br /&gt;
|pdp || int2||YES|| PdopMsk (3-250)&lt;br /&gt;
|-&lt;br /&gt;
|pac||int2||YES|| PaccMsk (10-100)&lt;br /&gt;
|-&lt;br /&gt;
|tdp ||int2||YES|| TdopMsk (3-250)&lt;br /&gt;
|-&lt;br /&gt;
|tac ||int2||YES|| TaccMsk (30-300)&lt;br /&gt;
|-&lt;br /&gt;
|ga || int2||YES|| Additional Fixes GpsIval mode (3-25) before interval fix is logged&lt;br /&gt;
|-&lt;br /&gt;
|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 &amp;lt; level - 5&lt;br /&gt;
|-&lt;br /&gt;
|eventnum || text||YES|| 12 eventnumbers (0-0xff) only printed if not zero, therfore converted to text&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_trackingfile_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows the status of the last attempt to parse (process) the raw data of a file for a given tracker, for each tracker that your projects allow you to see.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier of the row&lt;br /&gt;
|-&lt;br /&gt;
|date_reported||date||NO||Date that the file arrived&lt;br /&gt;
|-&lt;br /&gt;
|filename||varchar||NO||Name of the file&lt;br /&gt;
|-&lt;br /&gt;
|last_modified_date||timestamp||NO||Date that the file was last modified on&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||YES||Serial number of the tracker this file comes from&lt;br /&gt;
|-&lt;br /&gt;
|filesize||int8||NO||Size of the file in KB&lt;br /&gt;
|-&lt;br /&gt;
|parsed_date||timestamp||YES||Date and time that the file was last attempted to be parsed on&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||NO||Optimistic locking field. Ignore it as a user. &lt;br /&gt;
|-&lt;br /&gt;
|last_found_date||timestamp||YES||Last time that a process that runs to look for new files saw the file&lt;br /&gt;
|-&lt;br /&gt;
|n_lines||int4||YES||Count of lines found in the file last time it was processed&lt;br /&gt;
|-&lt;br /&gt;
|n_data_lines||int4||YES||Count of actual data lines, out of the total lines&lt;br /&gt;
|-&lt;br /&gt;
|n_tracking_records||int4||YES||Count of GPS fixes found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_communication_records||int4||YES||Count of communication records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_energy_records||int4||YES||Count of energy records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_acceleration_records||int4||YES||Count of acceleration records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_acceleration_start_records||int4||YES||Count of acceleration start records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_errors||int4||YES||Count of errors encountered during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_settings_records||int4||YES||Count of settings records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|filepath||text||NO||Directory path of the file on the server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_warning_limited ===&lt;br /&gt;
&lt;br /&gt;
Since firmware version 1.0.2.7 this table was added for events that do not occur very often (C10, C20) or errors that occur during parsing. &lt;br /&gt;
&lt;br /&gt;
For example all CRC failures can be selected with : &lt;br /&gt;
&lt;br /&gt;
  select * from gps.ee_warning_limited&lt;br /&gt;
  where warning = 'CRC8 failure'&lt;br /&gt;
  order by device_info_serial;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|filename||text||NO||File name &lt;br /&gt;
|-&lt;br /&gt;
|linenumber||integer||YES||line number in file &lt;br /&gt;
|-&lt;br /&gt;
|warning||text||YES||The warning message&lt;br /&gt;
|-&lt;br /&gt;
|line||text||YES||The actual line contents in the file &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sharings ==&lt;br /&gt;
&lt;br /&gt;
Projects can now share trackers with other projects during periods of time. This means that people in the receiving projects can access information that these shared trackers provide during those time periods. &lt;br /&gt;
&lt;br /&gt;
The following views allow you to see this shared information:&lt;br /&gt;
&lt;br /&gt;
* Tracking data&lt;br /&gt;
** ''gps.''ee_shared_tracking_speed_limited: tracking information (gps, speed), during the shared period, for trackers shared&lt;br /&gt;
** ''gps.''ee_shared_acc_start_limited: acceleration start information, during the shared period, for trackers shared&lt;br /&gt;
** ''gps.''ee_shared_acceleration_limited: acceleration information for trackers shared&lt;br /&gt;
* Metadata&lt;br /&gt;
** ''gps.''ee_shared_tracker_limited: information about each shared tracker&lt;br /&gt;
** ''gps.''ee_shared_individual_limited: information about birds with shared trackers&lt;br /&gt;
** ''gps.''ee_shared_track_session_limited: information about track sessions which involve shared trackers&lt;br /&gt;
* Relation to projects&lt;br /&gt;
** ''gps.''ee_shared_tracker_sharing_limited: view information for each sharing that your projects allow you to see&lt;br /&gt;
&lt;br /&gt;
== Accelerometer calibration ==&lt;br /&gt;
&lt;br /&gt;
The accelerometer measures the acceleration in 3D (20 times per second). Acceleration is caused by gravity (static component) and by a change in speed (dynamic component). &lt;br /&gt;
When the logger is static in horizontal position (solar cells up), gravity (green arrow) shows a  heave (vertical acceleration, z) of +1 g (1 g = 9.81 m.s&amp;lt;sup&amp;gt;-2&amp;lt;/sup&amp;gt;) while surge and heave are both 0. When the front of the logger is vertically pointing down (forward acceleration, x), surge is +1g and when it is rolled to the right (sidewards acceleration, y) sway is +1g. Due to gravity, the pitch of a logger is thus translated into the values of heave, surge and sway (or z, x, y).&lt;br /&gt;
&lt;br /&gt;
However, the values are measured in mV instead of g. Before delivering the GPS-loggers, they have been calibrated at UvA. The acceleration (A) expressed in g is calculated from the measured value (M) and the calibration factors offset (''O'') and sensitivity (''S'').&lt;br /&gt;
&lt;br /&gt;
Thus acceleration for heave (z), surge (x) and sway (y) is calculated as:&lt;br /&gt;
A&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; = (M&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;-O&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;)/S&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; ;      A&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; = (M&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;-O&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;)/S&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;;      A&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; = (M&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt;-O&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt;)/S&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; ; &lt;br /&gt;
&lt;br /&gt;
The values of ''O'' (in general ranging from 0-60, sometimes even 300) and ''S'' (ranging from 1300-1450) are available in the device table of the data base. If not available, use the factory defaults ''O'' = 0 and ''S'' = 1365.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[File:accelero1.png|300px]]||[[File:accelero2.png|300px]]|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the figure above heave (z) is shown in green, surge(x) in red and sway (y) in blue, all values are expressed in g (on the y-axis).&lt;br /&gt;
&lt;br /&gt;
== Data processing and filtering ==&lt;br /&gt;
The raw log files are processed before being entered into the database. Each firmware version has a dedicated parser for the task. In certain cases data that is found in the log files is not stored in the database.  This can occur for two reasons:&lt;br /&gt;
&lt;br /&gt;
1. The data did not pass the CRC8 checksum (cyclic redundancy check). This is a standard procedure designed to detect accidental changes to raw computer data.&lt;br /&gt;
&lt;br /&gt;
2. If the data has an invalid signature. For example, if a certain data format (eg numeric) or number of values (eg 4 digits) is expected but not returned, this record is not stored in the database.&lt;br /&gt;
&lt;br /&gt;
When a line is deleted, the log file name, line number and the type of error is stored in the table gps.uva_warning102&lt;br /&gt;
&lt;br /&gt;
== Information about GPS receivers ==&lt;br /&gt;
The first series of tags used the UBlox LEAS4S chip (~up to tag 541), newer tags use UBlox LEAS6S. The series developed in 2012 will use the Max6G receivers. From 2012 receiver versions will be stored in the database.&lt;br /&gt;
The UBX protocol is used for programming firmware, packaging and processing data.&lt;br /&gt;
For more information about the receivers themselves see the ublox documentation.&lt;br /&gt;
Ublox 4 Protocol specification [http://www.u-blox.com/images/downloads/Product_Docs/ANTARIS_Protocol_Specification%28GPS.G3-X-03002%29.zip]&lt;br /&gt;
Ublox 6 Protocol specification [http://www.u-blox.com/images/downloads/Product_Docs/u-blox6_ReceiverDescriptionProtocolSpec_%28GPS.G6-SW-10018%29.pdf]&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=UvA-BiTS_Tracking_Data&amp;diff=1423</id>
		<title>UvA-BiTS Tracking Data</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=UvA-BiTS_Tracking_Data&amp;diff=1423"/>
				<updated>2021-01-21T15:53:41Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* gps.ee_tracking_speed_limited */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== UvA-BiTS Tracking Data ==&lt;br /&gt;
&lt;br /&gt;
'''Note:''' These views will show no rows for trackers not yet attached to birds.&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_tracking_speed_limited ===&lt;br /&gt;
&lt;br /&gt;
Shows the tracking data that your projects allow you to see. &lt;br /&gt;
&lt;br /&gt;
Each row represents a GPS fix as it is interpreted from the data that comes via the GPS tracker, plus it adds speeds.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the fix. Part of the unique identifier of the GPS fix.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time when the fix was taken. UTC (i.e.: no timezone). Part of the unique identifier of the GPS fix. &lt;br /&gt;
|-&lt;br /&gt;
|latitude||float8||YES||Latitude of the GPS fix, decimal degrees (WGS1984 Ellipsoid)&lt;br /&gt;
|-&lt;br /&gt;
|longitude||float8||YES||Longitude of the GPS fix, decimal degrees (WGS1984 Ellipsoid)&lt;br /&gt;
|-&lt;br /&gt;
|altitude||int4||YES||Altitude above sea level measured by GPS tag in meters (WGS1984 Ellipsoid)&lt;br /&gt;
|-&lt;br /&gt;
|pressure||int4||YES||Pressure measured by GPS tag sensor in Pascals&lt;br /&gt;
|-&lt;br /&gt;
|temperature||float8||YES||Temperature measured by GPS tag sensor in Celsius&lt;br /&gt;
|-&lt;br /&gt;
|h_accuracy||float8||YES||Horizontal accuracy (meters)&lt;br /&gt;
|-&lt;br /&gt;
|v_accuracy||float8||YES||vertical accuracy (meters)&lt;br /&gt;
|-&lt;br /&gt;
|x_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|y_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|z_speed||float8||YES||meters/second &lt;br /&gt;
|-&lt;br /&gt;
|gps_fixtime||float8||YES||GPS fix time (also known as Time to Fix) in seconds&lt;br /&gt;
|-&lt;br /&gt;
|userflag||int4||YES||Acceptable = 0; Data flagged as unacceptable by user if not equal to 0.&lt;br /&gt;
|-&lt;br /&gt;
|satellites_used||int2||YES||Number of satellites used for fix the GPS measurement&lt;br /&gt;
|-&lt;br /&gt;
|positiondop||float8||YES||Positional DOP (Dilution of Precision), unitless&lt;br /&gt;
|-&lt;br /&gt;
|speed_accuracy||float8||YES||&lt;br /&gt;
|-&lt;br /&gt;
|location||geometry||YES||postgreSQL geometry; to allow GIS operations&lt;br /&gt;
|-&lt;br /&gt;
|vnorth||float8||YES||- vx * sin(lat) * cos(long) - vy * sin(lat) * sin (long) + vz * cos(lat), m/s&lt;br /&gt;
|-&lt;br /&gt;
|veast||float8||YES||- vx * sin(lon) + vy * cos(lon), m/s&lt;br /&gt;
|-&lt;br /&gt;
|vdown||float8||YES||- vx * cos(lat) * cos(lon) - vy * cos(lat) * sin(lon) - vz * sin(lat), m/s&lt;br /&gt;
|-&lt;br /&gt;
|speed||float8||YES||- vx * sin(lon) + vy * cos(lon)&lt;br /&gt;
|-&lt;br /&gt;
|speed_3d||float8||YES|| sqrt(d.x_speed^2 + d.y_speed^2 + d.z_speed^2), m/s&lt;br /&gt;
|-&lt;br /&gt;
|speed_2d||float8||YES|| Speed on 2D, m/s&lt;br /&gt;
|-&lt;br /&gt;
|direction||numeric||YES|| Heading in degrees; 0 is north, 90 is east&lt;br /&gt;
|-&lt;br /&gt;
|altitude_agl||float8||YES|| Reported GPS altitude MINUS terrain elevation on the coordinate based on Digital Elevation Model data used in the e-ecology database (for further information see: [[Elevation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_acceleration_limited ===&lt;br /&gt;
&lt;br /&gt;
Acceleration is measured in blocks of 1-200 measurements (records). The date_time  mentioned in this block is the date and time of the first acceleration measurement. Sequential measurements within a block are numbered with an index 1... (max 200). Every row represents one measurement in 3 directions (X,Y,Z). The order is important within each block, so you should always sort the acceleration measurements by block and index. If you need the exact time for each row, you can calculate it from the index, the sample frequency (which is almost always 20 Hz) and the date_time of the first row in the block.&lt;br /&gt;
&lt;br /&gt;
The date_time of the first block is the time of the GPS measurement preceding the accelerometer measurement. If there is no valid GPS measurement, this time is calculated from the last GPS measurement and the time of the internal clock of the tracker.&lt;br /&gt;
&lt;br /&gt;
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 in gps.ee_tracking_speed_limited for the given tracker, column date_time on gps.ee_acc_start_limited, and all the values on column date_time for that tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This table structure has ''not'' changed with respect to our previous database.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the fix. Part of the unique identifier of the GPS fix.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time of the acceleration block that this measurement belongs to (time in UTC, no time zone).&lt;br /&gt;
|-&lt;br /&gt;
|index||int2||NO||Sorting order of the measurement within the acceleration block (each block starts at 0).&lt;br /&gt;
|-&lt;br /&gt;
|x_acceleration||int2||YES||Acceleration measured on the x (or surge) axis (range between -2666 and 2666).&lt;br /&gt;
|-&lt;br /&gt;
|y_acceleration||int2||YES||Acceleration measured on the y (or sway) axis (range between -2666 and 2666).&lt;br /&gt;
|-&lt;br /&gt;
|z_acceleration||int2||YES||Acceleration measured on the z (or heave) axis (range between -2666 and 2666).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_acc_start_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row represents the start of a block of acceleration measurements when a GPS fix is not available at that acceleration block's time. &lt;br /&gt;
&lt;br /&gt;
If there is no valid GPS measurement, this time is calculated from the last GPS measurement and the time of the internal clock of the tracker.&lt;br /&gt;
 &lt;br /&gt;
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 gps.ee_tracking_speed_limited for the given tracker, column date_time on gps.ee_acc_start_limited, 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. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Added in firmware 1.0.2.7.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker that reported the acceleration measurement.&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Time to mark the start of the acceleration block.&lt;br /&gt;
|-&lt;br /&gt;
|line_counter||int4||NO||Number of lines associated with this set of accelerations.&lt;br /&gt;
|-&lt;br /&gt;
|timesynced||int2||YES||The source of the time that marks the acceleration block (0=not synced, 1=user set, 2=Gps Synced).&lt;br /&gt;
|-&lt;br /&gt;
|ascii||int4||YES||Acceleration measurement interval.&lt;br /&gt;
|-&lt;br /&gt;
|accsn||int4||YES||Number of samples (0-65536).&lt;br /&gt;
|-&lt;br /&gt;
|f||int2||YES||Acceleration sampling frequency (0=20Hz, 1=10Hz, 2=5Hz, 3=1Hz).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bird data ==&lt;br /&gt;
=== ''gps.''ee_individual_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows bird's details for all birds that your projects allow you to see.&lt;br /&gt;
&lt;br /&gt;
This view replaces the old gps.uva_individual_limited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||Ring number.&lt;br /&gt;
|-&lt;br /&gt;
|species_latin_name||varchar||NO||Latin name of the species of the bird.&lt;br /&gt;
|-&lt;br /&gt;
|colour_ring||varchar||YES||String for ring colour.&lt;br /&gt;
|-&lt;br /&gt;
|sex||varchar||NO||Sex (M=male, F=female, X=unknown/unspecified)&lt;br /&gt;
|-&lt;br /&gt;
|mass||numeric(5,0)||YES||Mass (grams)&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date when the bird was first tracked with an UvA-BiTS logger.&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the bird is no longer relevant for the tracking project.&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Text for user remarks&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Bird unique id. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_species_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row represents a species that you can assign to your birds to include them in your project. No bird in the system can exist without being linked to one of the species from this list. If you are tagging a bird whose species does not exist in the list, please [http://www.uva-bits.nl/contact/ contact] us.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|abbr||varchar||NO||Unique abbreviation for this species.&lt;br /&gt;
|-&lt;br /&gt;
|english_name||varchar||YES||Name of the species in English. &lt;br /&gt;
|-&lt;br /&gt;
|latin_name||varchar||NO||Name of the species in Latin. It is always filled in.&lt;br /&gt;
|-&lt;br /&gt;
|species_id||int8||NO||Unique id. Added to allow joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_nest_limited ===&lt;br /&gt;
This view shows nests you have access to. A nest is always for a bird with a tracker (so a track session must exist for that bird), and must contain a short name (a reference name for you to use) and a latitude and longitude pair.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|reference_name||varchar||NO||A string with a useful reference for you. We recommend its being unique for each nest in a project, but the system does NOT enforce it.&lt;br /&gt;
|-&lt;br /&gt;
|latitude||numeric||YES||Latitude of the coordinates where the nest was found, decimal degrees.&lt;br /&gt;
|-&lt;br /&gt;
|longitude||numeric||YES||Longitude of the coordinates where the nest was found, decimal degrees.&lt;br /&gt;
|-&lt;br /&gt;
|start_date_time||timestamp||NO||When the nest was spotted.&lt;br /&gt;
|-&lt;br /&gt;
|end_date_time||timestamp||NO||When the nest ceases to be relevant.&lt;br /&gt;
|-&lt;br /&gt;
|found_by_whom||varchar||YES||Place to credit people involved in finding the nest.&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Free text.&lt;br /&gt;
|-&lt;br /&gt;
|location||bytearray||YES||Calculated Geometry of the coordinates where the nest was found.&lt;br /&gt;
|-&lt;br /&gt;
|nest_id||int8||NO||Unique id. Added to allow joins to nest_inhabitant_limited.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_nest_inhabitant_limited ===&lt;br /&gt;
This view shows who lives on which nest, for birds you have access to. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|reference_name||varchar||NO||A string belonging to the nest that you can use to identify that nest. Because it is NOT enforced to be unique, DO NOT USE THIS FIELD FOR JOINING.&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||The ring number of a bird on a nest.&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Following the link from a bird to her track sessions, and considering the nest's start and end time, the bird's trackers within that period are resolved so that they can be shown here. This is the device_info_serial of a tracker.&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||Following the link from a bird to her track sessions, and considering the nest's start and end time, the track sessions' projects within that period are resolved so that they can be shown here. This is the key_name of a project.&lt;br /&gt;
|-&lt;br /&gt;
|nest_id||int8||NO||Reference to the nest id. Added to allow joins.&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Reference to the individual id. Added to allow joins.&lt;br /&gt;
|-&lt;br /&gt;
|track_session_id||int8||NO||Reference to a resolved track session id. Added to allow joins.&lt;br /&gt;
|}&lt;br /&gt;
== Tracker and project data ==&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_project_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows the details of each project, for the projects you are allowed to see.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||Unique key name, with the form &amp;lt;species&amp;gt;_&amp;lt;place&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|station_name||varchar||NO||Where the receiving station is&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Project start date&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the project is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|description||text||YES||String for free description. Updatable by the user.&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Project unique id. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|parent_id||int8||YES||Reference to the parent project in the hierarchy.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_tracker_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows tracker details for all trackers that your projects allow you to see.&lt;br /&gt;
&lt;br /&gt;
This view replaces the old gps.uva_device_limited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|firmware_version||varchar||YES||String for firmware version&lt;br /&gt;
|-&lt;br /&gt;
|mass||numeric(4,2)||YES||Mass (in grams)&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date before which the device is not relevant&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the device is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|x_o||numeric(30,6)||YES||Accelerometer calibration: offset on the x (or surge) axis&lt;br /&gt;
|-&lt;br /&gt;
|x_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the x (or surge) axis&lt;br /&gt;
|-&lt;br /&gt;
|y_o||numeric(30,6)||YES||Accelerometer calibration: offset on the y (or sway) axis&lt;br /&gt;
|-&lt;br /&gt;
|y_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the y (or sway) axis&lt;br /&gt;
|-&lt;br /&gt;
|z_o||numeric(30,6)||YES||Accelerometer calibration: offset on the z (or heave) axis&lt;br /&gt;
|-&lt;br /&gt;
|z_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the y (or heave) axis&lt;br /&gt;
|-&lt;br /&gt;
|tracker_id||int8||NO||Tracker unique id. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_track_session_limited ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Each row shows track session's information. There exists a row for each track session that your projects allow you to see. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||The project that the track session belongs to.&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Serial number of the tracker this track session involves.&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||Ring number of the bird that this track session involves.&lt;br /&gt;
|-&lt;br /&gt;
|start_date||timestamp||NO||Date before which the track session is not relevant&lt;br /&gt;
|-&lt;br /&gt;
|end_date||timestamp||NO||Date at which the track session is not relevant any more&lt;br /&gt;
|-&lt;br /&gt;
|remarks||text||YES||Free text for comments&lt;br /&gt;
|-&lt;br /&gt;
|start_latitude||numeric(11,8)||NO||Latitude where the bird was tagged, decimal degrees&lt;br /&gt;
|-&lt;br /&gt;
|start_longitude||numeric(11,8)||NO||Longitude where the bird was tagged, decimal degrees&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Reference to the project this track session belongs to. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|tracker_id||int8||NO||Reference to the tracker this track session involves. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Reference to the individual this track session involves. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|track_session_id||int8||NO||Unique identifier of the track session. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Relation to projects ==&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_user_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows a colleague in a project that you belong to, indicating her role and status there.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||Project name&lt;br /&gt;
|-&lt;br /&gt;
|email||varchar||NO||e-mail address&lt;br /&gt;
|-&lt;br /&gt;
|login_name||varchar||NO||Login name&lt;br /&gt;
|-&lt;br /&gt;
|name||varchar||NO||(first) name&lt;br /&gt;
|-&lt;br /&gt;
|surname||varchar||NO||Surname&lt;br /&gt;
|-&lt;br /&gt;
|role||varchar||NO||Role in the project&lt;br /&gt;
|-&lt;br /&gt;
|status||varchar||NO||Status of the membership&lt;br /&gt;
|-&lt;br /&gt;
|user_id||int8||NO||Unique identifier of the user. Included to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_tracker_ownership_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row that you see expresses that a tracker belongs to one of the projects you are involved with. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||The project that the tracker belongs to.&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int8||NO||Serial number of the tracker.&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Reference to the project. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|tracker_id||int8||NO||Reference to the tracker. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_individual_ownership_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row that you see expresses that a bird belongs to one of the projects you are involved with. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|key_name||varchar||NO||The project that the individual belongs to.&lt;br /&gt;
|-&lt;br /&gt;
|ring_number||varchar||NO||Ring number of the bird.&lt;br /&gt;
|-&lt;br /&gt;
|project_id||int8||NO||Reference to the project. Included just to enable joins.&lt;br /&gt;
|-&lt;br /&gt;
|individual_id||int8||NO||Reference to the individual. Included just to enable joins.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Engineering data ==&lt;br /&gt;
&lt;br /&gt;
'''Note:''' These views will show no rows for trackers not yet attached to birds.&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_comm_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row indicates status and result of communications with ground stations for each tracker that your project allows you to see. &lt;br /&gt;
&lt;br /&gt;
Only for newer firmware (v.1.0.1.4 and higher).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
| device_info_serial || int4 || NO || Serial number of the tracker.&lt;br /&gt;
|-&lt;br /&gt;
| date_time || timestamp || NO || timestamp of start communication&lt;br /&gt;
|-&lt;br /&gt;
| date_time_end || timestamp ||YES|| timestamp of end communication           &lt;br /&gt;
|-&lt;br /&gt;
| date_time_utc || timestamp ||YES|| date_time in utc (if available)&lt;br /&gt;
|-&lt;br /&gt;
| date_time_end_utc || timestamp ||YES|| date_time_end in utc (if available)&lt;br /&gt;
|-&lt;br /&gt;
| action || text||YES|| JOINED / RESCHEDULE  ??&lt;br /&gt;
|-&lt;br /&gt;
| bytes_communicated || int4 ||YES|| Number of bytes communicated (total of all bytes per DATA line)  &lt;br /&gt;
|-&lt;br /&gt;
|status || text ||YES|| READY, TIMEOUT, LOWPOWER, MISSING&lt;br /&gt;
|-&lt;br /&gt;
| network_join_time || int4||YES||milliseconds&lt;br /&gt;
|-&lt;br /&gt;
| number_identical_lines || int4 ||YES|| Number identical lines in data block. Gives indication &lt;br /&gt;
|-&lt;br /&gt;
| non_ascii_char || int4 ||YES|| Number of non ascii characters (indicated by question-mark ?)&lt;br /&gt;
|-&lt;br /&gt;
| sts_time || timestamp ||YES|| derived from S0 hh,mi&lt;br /&gt;
|-&lt;br /&gt;
| timesynced || int2||YES|| TimeSynced (0=not sy:wnced, 1=user set, 2=Gps Synced)&lt;br /&gt;
|-&lt;br /&gt;
|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)&lt;br /&gt;
|-&lt;br /&gt;
| vbat || float8 ||YES|| Battery voltage in V (0-~4.200V) &lt;br /&gt;
|-&lt;br /&gt;
|logb || int4 ||YES|| logged bytes, waiting for download (0-4Mbyte)&lt;br /&gt;
|-&lt;br /&gt;
| logp || int2 ||YES|| Logged percentage (units 0.1%) of memory waiting to be downloaded (0-1000)&lt;br /&gt;
|-&lt;br /&gt;
| gpsii || int4 ||YES|| GpsIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|comii || int4||YES|| ComIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|accii || int4||YES|| AcceleroIval, current (0-65535)&lt;br /&gt;
|-&lt;br /&gt;
|swddd || int4||YES|| User switches, current (0-65535) &lt;br /&gt;
|-&lt;br /&gt;
|last_gps_fix ||timestamp||YES||timestamp of last fix&lt;br /&gt;
|-&lt;br /&gt;
|latitude||float8||YES||Latitude of last fix. Decimal degrees &lt;br /&gt;
|-&lt;br /&gt;
|longitude||float8||YES||Longitude of last fix. Decimal degrees&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_energy_limited ===&lt;br /&gt;
&lt;br /&gt;
Only for newer firmware.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Date and time of the reported data&lt;br /&gt;
|-&lt;br /&gt;
|timesynced ||int2||YES||TimeSynced (0=not synced, 1=user set, 2=Gps synced)&lt;br /&gt;
|-&lt;br /&gt;
|devicemode ||int2||YES||(0-99)&lt;br /&gt;
|-&lt;br /&gt;
|vsll ||float8||YES||Solar Voltage during charging in mV (0-~2500)&lt;br /&gt;
|-&lt;br /&gt;
|vbat ||float8||YES||Battery Voltage in V (0-~4.200)&lt;br /&gt;
|-&lt;br /&gt;
|ssw ||int2||YES|| Solar Cell Switches ... (0-255) fw1022 and up &lt;br /&gt;
|-&lt;br /&gt;
| ||||YES||extended fields if special user switch is on &lt;br /&gt;
|-&lt;br /&gt;
|vsoo ||float8||YES|| Solar voltage open in V (0-~2.500)&lt;br /&gt;
|-&lt;br /&gt;
|vdrf ||float8||YES||reference voltage Dac in V (0-~2.435)&lt;br /&gt;
|-&lt;br /&gt;
|vchr ||float8||YES||charge current voltage&lt;br /&gt;
|-&lt;br /&gt;
|g ||int2||YES|| Gps battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|c || int2||YES||Com battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|m || int2||YES||Charge Mode (0,1,2 Com battery threshold OK&lt;br /&gt;
|-&lt;br /&gt;
|pressure || int4||YES|| in pascal (1mBar = 100Pa, 1pressuremeter = ~12Pa)&lt;br /&gt;
|-&lt;br /&gt;
|temperature || float8||YES|| in celcius degrees   &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_settings_limited ===&lt;br /&gt;
&lt;br /&gt;
Settings are either from C0-C1-C9 lines or parsed from uplink communication lines. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||&lt;br /&gt;
|-&lt;br /&gt;
|date_time||timestamp||NO||Derived timestamp from Hh:mi fields in C0 combined with computer timestamp in JOINED line&lt;br /&gt;
|-&lt;br /&gt;
|timesynced || int2 ||YES||&lt;br /&gt;
|-&lt;br /&gt;
|timezone_time || int2 ||YES||&lt;br /&gt;
|-&lt;br /&gt;
|swddd || int4||YES|| SpecialUserSwitches &lt;br /&gt;
|-&lt;br /&gt;
|gpsnavmode || int2||YES|| GpsNavMode 0-8. This is the Kalman filter used for GPS navigation mode often called the &amp;quot;Dynamic platform model&amp;quot;. 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 &amp;lt; 1g acceleration, 7 = airborne with &amp;lt; 2g acceleration, 8 = airborne with &amp;lt; 4g acceleration &lt;br /&gt;
|-&lt;br /&gt;
|gpsreceivermode || int2 ||YES|| GpsReceiverNode 0-3&lt;br /&gt;
|-&lt;br /&gt;
|gpsfixtime || int2||YES|| GpsFixTime 0-255&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln_on_h || int2||YES|| hours Gps IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln_on_m || int2||YES|| minutes Gps IvalN on &lt;br /&gt;
|-&lt;br /&gt;
|gps_ivaln  || int4||YES|| GpsIvalN (0-65530)&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale_on_h || int2||YES|| hours Gps IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale_on_m || int2||YES|| minutes GpS IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|gps_ivale  || int4||YES|| GpsIvalE &lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln_on_h || int2||YES|| hours Com IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln_on_m || int2||YES|| minutes Com IvalN on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivaln || int4||YES|| ComIvalN (0-65530)&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale_on_h || int2||YES|| hours Com IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale_on_m || int2||YES|| minutes Com IvalE on&lt;br /&gt;
|-&lt;br /&gt;
|com_ivale || int4||YES|| ComIvalE&lt;br /&gt;
|-&lt;br /&gt;
|accii || int4||YES|| Accelero measurement interval         &lt;br /&gt;
|-&lt;br /&gt;
|accbn || int4||YES|| Accelero number of blocks &lt;br /&gt;
|-&lt;br /&gt;
|accsn || int4||YES|| Accelero number of samples (0-65536)&lt;br /&gt;
|-&lt;br /&gt;
|f || int2||YES||Accelero sample frequency  (0=20Hz, 1=10Hz, 2=5Hz, 3=1Hz)&lt;br /&gt;
|-&lt;br /&gt;
|pdp || int2||YES|| PdopMsk (3-250)&lt;br /&gt;
|-&lt;br /&gt;
|pac||int2||YES|| PaccMsk (10-100)&lt;br /&gt;
|-&lt;br /&gt;
|tdp ||int2||YES|| TdopMsk (3-250)&lt;br /&gt;
|-&lt;br /&gt;
|tac ||int2||YES|| TaccMsk (30-300)&lt;br /&gt;
|-&lt;br /&gt;
|ga || int2||YES|| Additional Fixes GpsIval mode (3-25) before interval fix is logged&lt;br /&gt;
|-&lt;br /&gt;
|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 &amp;lt; level - 5&lt;br /&gt;
|-&lt;br /&gt;
|eventnum || text||YES|| 12 eventnumbers (0-0xff) only printed if not zero, therfore converted to text&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_trackingfile_limited ===&lt;br /&gt;
&lt;br /&gt;
Each row shows the status of the last attempt to parse (process) the raw data of a file for a given tracker, for each tracker that your projects allow you to see.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|id||int8||NO||Unique identifier of the row&lt;br /&gt;
|-&lt;br /&gt;
|date_reported||date||NO||Date that the file arrived&lt;br /&gt;
|-&lt;br /&gt;
|filename||varchar||NO||Name of the file&lt;br /&gt;
|-&lt;br /&gt;
|last_modified_date||timestamp||NO||Date that the file was last modified on&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||YES||Serial number of the tracker this file comes from&lt;br /&gt;
|-&lt;br /&gt;
|filesize||int8||NO||Size of the file in KB&lt;br /&gt;
|-&lt;br /&gt;
|parsed_date||timestamp||YES||Date and time that the file was last attempted to be parsed on&lt;br /&gt;
|-&lt;br /&gt;
|version||int4||NO||Optimistic locking field. Ignore it as a user. &lt;br /&gt;
|-&lt;br /&gt;
|last_found_date||timestamp||YES||Last time that a process that runs to look for new files saw the file&lt;br /&gt;
|-&lt;br /&gt;
|n_lines||int4||YES||Count of lines found in the file last time it was processed&lt;br /&gt;
|-&lt;br /&gt;
|n_data_lines||int4||YES||Count of actual data lines, out of the total lines&lt;br /&gt;
|-&lt;br /&gt;
|n_tracking_records||int4||YES||Count of GPS fixes found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_communication_records||int4||YES||Count of communication records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_energy_records||int4||YES||Count of energy records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_acceleration_records||int4||YES||Count of acceleration records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_acceleration_start_records||int4||YES||Count of acceleration start records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_errors||int4||YES||Count of errors encountered during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|n_settings_records||int4||YES||Count of settings records found during the parsing process&lt;br /&gt;
|-&lt;br /&gt;
|filepath||text||NO||Directory path of the file on the server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ''gps.''ee_warning_limited ===&lt;br /&gt;
&lt;br /&gt;
Since firmware version 1.0.2.7 this table was added for events that do not occur very often (C10, C20) or errors that occur during parsing. &lt;br /&gt;
&lt;br /&gt;
For example all CRC failures can be selected with : &lt;br /&gt;
&lt;br /&gt;
  select * from gps.ee_warning_limited&lt;br /&gt;
  where warning = 'CRC8 failure'&lt;br /&gt;
  order by device_info_serial;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! COLUMN_NAME&lt;br /&gt;
! TYPE_NAME&lt;br /&gt;
! IS_NULLABLE&lt;br /&gt;
! DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|device_info_serial||int4||NO||Serial number of the tracker&lt;br /&gt;
|-&lt;br /&gt;
|filename||text||NO||File name &lt;br /&gt;
|-&lt;br /&gt;
|linenumber||integer||YES||line number in file &lt;br /&gt;
|-&lt;br /&gt;
|warning||text||YES||The warning message&lt;br /&gt;
|-&lt;br /&gt;
|line||text||YES||The actual line contents in the file &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sharings ==&lt;br /&gt;
&lt;br /&gt;
Projects can now share trackers with other projects during periods of time. This means that people in the receiving projects can access information that these shared trackers provide during those time periods. &lt;br /&gt;
&lt;br /&gt;
The following views allow you to see this shared information:&lt;br /&gt;
&lt;br /&gt;
* Tracking data&lt;br /&gt;
** ''gps.''ee_shared_tracking_speed_limited: tracking information (gps, speed), during the shared period, for trackers shared&lt;br /&gt;
** ''gps.''ee_shared_acc_start_limited: acceleration start information, during the shared period, for trackers shared&lt;br /&gt;
** ''gps.''ee_shared_acceleration_limited: acceleration information for trackers shared&lt;br /&gt;
* Metadata&lt;br /&gt;
** ''gps.''ee_shared_tracker_limited: information about each shared tracker&lt;br /&gt;
** ''gps.''ee_shared_individual_limited: information about birds with shared trackers&lt;br /&gt;
** ''gps.''ee_shared_track_session_limited: information about track sessions which involve shared trackers&lt;br /&gt;
* Relation to projects&lt;br /&gt;
** ''gps.''ee_shared_tracker_sharing_limited: view information for each sharing that your projects allow you to see&lt;br /&gt;
&lt;br /&gt;
== Accelerometer calibration ==&lt;br /&gt;
&lt;br /&gt;
The accelerometer measures the acceleration in 3D (20 times per second). Acceleration is caused by gravity (static component) and by a change in speed (dynamic component). &lt;br /&gt;
When the logger is static in horizontal position (solar cells up), gravity (green arrow) shows a  heave (vertical acceleration, z) of +1 g (1 g = 9.81 m.s&amp;lt;sup&amp;gt;-2&amp;lt;/sup&amp;gt;) while surge and heave are both 0. When the front of the logger is vertically pointing down (forward acceleration, x), surge is +1g and when it is rolled to the right (sidewards acceleration, y) sway is +1g. Due to gravity, the pitch of a logger is thus translated into the values of heave, surge and sway (or z, x, y).&lt;br /&gt;
&lt;br /&gt;
However, the values are measured in mV instead of g. Before delivering the GPS-loggers, they have been calibrated at UvA. The acceleration (A) expressed in g is calculated from the measured value (M) and the calibration factors offset (''O'') and sensitivity (''S'').&lt;br /&gt;
&lt;br /&gt;
Thus acceleration for heave (z), surge (x) and sway (y) is calculated as:&lt;br /&gt;
A&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; = (M&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;-O&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;)/S&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; ;      A&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; = (M&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;-O&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;)/S&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;;      A&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; = (M&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt;-O&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt;)/S&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; ; &lt;br /&gt;
&lt;br /&gt;
The values of ''O'' (in general ranging from 0-60, sometimes even 300) and ''S'' (ranging from 1300-1450) are available in the device table of the data base. If not available, use the factory defaults ''O'' = 0 and ''S'' = 1365.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[File:accelero1.png|300px]]||[[File:accelero2.png|300px]]|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the figure above heave (z) is shown in green, surge(x) in red and sway (y) in blue, all values are expressed in g (on the y-axis).&lt;br /&gt;
&lt;br /&gt;
== Data processing and filtering ==&lt;br /&gt;
The raw log files are processed before being entered into the database. Each firmware version has a dedicated parser for the task. In certain cases data that is found in the log files is not stored in the database.  This can occur for two reasons:&lt;br /&gt;
&lt;br /&gt;
1. The data did not pass the CRC8 checksum (cyclic redundancy check). This is a standard procedure designed to detect accidental changes to raw computer data.&lt;br /&gt;
&lt;br /&gt;
2. If the data has an invalid signature. For example, if a certain data format (eg numeric) or number of values (eg 4 digits) is expected but not returned, this record is not stored in the database.&lt;br /&gt;
&lt;br /&gt;
When a line is deleted, the log file name, line number and the type of error is stored in the table gps.uva_warning102&lt;br /&gt;
&lt;br /&gt;
== Information about GPS receivers ==&lt;br /&gt;
The first series of tags used the UBlox LEAS4S chip (~up to tag 541), newer tags use UBlox LEAS6S. The series developed in 2012 will use the Max6G receivers. From 2012 receiver versions will be stored in the database.&lt;br /&gt;
The UBX protocol is used for programming firmware, packaging and processing data.&lt;br /&gt;
For more information about the receivers themselves see the ublox documentation.&lt;br /&gt;
Ublox 4 Protocol specification [http://www.u-blox.com/images/downloads/Product_Docs/ANTARIS_Protocol_Specification%28GPS.G3-X-03002%29.zip]&lt;br /&gt;
Ublox 6 Protocol specification [http://www.u-blox.com/images/downloads/Product_Docs/u-blox6_ReceiverDescriptionProtocolSpec_%28GPS.G6-SW-10018%29.pdf]&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=BirdSim&amp;diff=1422</id>
		<title>BirdSim</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=BirdSim&amp;diff=1422"/>
				<updated>2021-01-21T11:21:44Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
BirdSim is an interactive web-browser embedded application for interactively looking at GPS tracks, from both top-down view and from Birds-eye view. It is based on the [[BirdView]] application, and as such has some similarities. However, it contains some adjustments and additions, allowing for new features such as Touring and location/time dependent (meteorological) data.&lt;br /&gt;
&lt;br /&gt;
BirdSim has two main goals:&lt;br /&gt;
* To enable looking at GPS tracks from a birds perspective.&lt;br /&gt;
* To dynamically link (meteorological) data to GPS-data.    &lt;br /&gt;
&lt;br /&gt;
'''''This service is currently not available.'''''&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
&lt;br /&gt;
To be able to use BirdSim, you need to fulfill a couple of requirements. Most of these requirements are usually already fulfilled, or in case of installing Google Earth browser plugin, very easy.&lt;br /&gt;
* You need to run either Microsoft Windows (XP  or later) or Maxc OS X 10.4+ as operating system.&lt;br /&gt;
* You need to have a compatible web browser. Internet explorer, Google Chrome and Firefox are known to be compatible, but Firefox is recommended since it provides additional functionality such as opening local kmz/kml files.&lt;br /&gt;
* You need to have the Google Earth plugin installed. This can be done very simply provided you have administrator rights. It will query you to install the first time you open&lt;br /&gt;
* To retrieve data, you need to be logged in with your UvA-Bit password. See [[#Security]] for more details. &lt;br /&gt;
&lt;br /&gt;
We recommend Firefox as browser: While other browser will work too, only Firefox support loading of local KMZ/KML files.&lt;br /&gt;
&lt;br /&gt;
== Control Panel ==&lt;br /&gt;
&lt;br /&gt;
The Google Earth map is controlled by standard mouse interactions, for functions such as zooming, panning and rotation.&lt;br /&gt;
&lt;br /&gt;
The interface for querying and controlling GPS data in BirdSim is located in the Control Panel on the left side of the screen. &lt;br /&gt;
&lt;br /&gt;
===BirdSim tab===&lt;br /&gt;
[[image:birdsimControl1.png|thumb|right|260px|Screenshot of the BirdSim Control interface]]&lt;br /&gt;
&lt;br /&gt;
In the BirdSim tab you can find the controls for querying data from the GPS e-Ecology database.&lt;br /&gt;
&lt;br /&gt;
Here we will go over each field, and explain what this does:&lt;br /&gt;
* Device Id: This is the serial number of the bird you want to look at. Note that only the device that you have access to are visible.&lt;br /&gt;
* Start date/time and End date/time: Here your set the timespan of the data you want to see. The time is in UTC&lt;br /&gt;
* Tour Threshold: Measurement points with an average speed (in m/s) under the threshold are grouped together. This option is to clean up the bird tracks and aggregate spots where they were not travelling. &lt;br /&gt;
* Tour Speed Multiplier: The default tour speed is the same as the speed of the measurements. Since this can be extremely slow on migration flights, the default speed can be modified. Note that the touring interface also has buttons to speed up the tour, this option is just an alternative. &lt;br /&gt;
* Points checkbox: Adds the measurements to the GPS track/tour as icons.&lt;br /&gt;
* Lines checkbox: Add straigt, shortest distance lines between the measurement points (green line)&lt;br /&gt;
* Spline checkbox: Add a spline (blue line) through the measurement points. It is a Catmull-Rom spline, which goes trough every measurement point. Note that this the route that the tour follows.&lt;br /&gt;
* Terrain Exaggeration checkbox: If this checkbox is checked, the height of the terrain and bird are multiplied with a factor of 3, in order to see more details in the terrain. This is interesting for tour trough hilly/mountainous terrain.&lt;br /&gt;
&lt;br /&gt;
* Download Button: This downloads a KML file containing both the tour and the GPS track.&lt;br /&gt;
* GPS button: This displays the requested GPS track in the Earth Panel&lt;br /&gt;
* Tour Button: This will show the requested GPS tarck as Tour in the Earth Panel. You have to use the Touring interface in the Earth Panel to start the tour.&lt;br /&gt;
&lt;br /&gt;
Finally, there is a TimeRate (in seconds per second) together with a play/pause button.&lt;br /&gt;
The reason for these buttons is to have a finer control over the timeslider of Google Earth. The default speed of the Time Slider makes it play very fast, making a migration of a month finish in 10 seconds. By setting the Time rate to for example 3600, the timeslider will advance an hour each second. To update the speed after filling in a new speed, press the play button again.&lt;br /&gt;
&lt;br /&gt;
=== Environment tab ===&lt;br /&gt;
[[image:birdsimControl2.png|thumb|right|260px|Screenshot of the BirdSim Environment Control interface]]&lt;br /&gt;
&lt;br /&gt;
''For the Environment tab to be visible, you do need ECMWF access on the UvA-Bits database. If you do not have this, environment tab won't be visible.''&lt;br /&gt;
&lt;br /&gt;
The meteorological data in BirdSim is dynamically queried, based on two factor:&lt;br /&gt;
* The viewpoint (both zoom level and position)&lt;br /&gt;
* The current time in the Google Earth Timeslider&lt;br /&gt;
&lt;br /&gt;
If the timeslider is giving a single timestamp, this will be used for querying the weather data. If the Timeslider is expanded to a timerange, the '''end''' is used to query the data.&lt;br /&gt;
The position and zoom level are used to determine the extend of the queried data. An area is queried that fills the view in the Google Earth panel, depending on the center of the screen, and the zoom level. &lt;br /&gt;
&lt;br /&gt;
The pressure level dropdown is used for both the temperature and the wind barbs, it has no effect on the precipitation.&lt;br /&gt;
There are 3 checkboxes for  showing and hiding the Wind, Temperature and Precipitation data. A 4th checkbox will show/hide the legend for these visualizations.&lt;br /&gt;
&lt;br /&gt;
Finally, this dynamic querying functionality places a strain on both local processing and server processing, by constantly updating data depending on time and location. Showing a large area by zooming out will load noticeably slower. In order to limit the strain, you can set the update rate to a different value. Furthermore, you have to start the Weather update process yourself by pressing the &amp;quot;start update&amp;quot; button, and vice versa, you can stop the update again by using the &amp;quot;stop update&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
==== Meteorological data ====&lt;br /&gt;
[[Image:ScreenShotMeteo.png|thumb|right|500px|Wind, temperature and precipitation data in BirdView]]&lt;br /&gt;
The e-Ecology database contains the weather prediction data acquired from ECMWF. The meteorological data goes back as far as 01-01-2005, although only wind vector is available for that particular period.&lt;br /&gt;
&lt;br /&gt;
ECMWF data  properties:&lt;br /&gt;
* The prediction is 72 hours into the future&lt;br /&gt;
* The data is updated every 12 hours, overwriting previous data.&lt;br /&gt;
* The last prediction for any 12 hour period is kept in the database&lt;br /&gt;
* The data interval is 3 hours, e.g 00:00, 03:00, etc.&lt;br /&gt;
* The resolution is 0.25 degrees latitude and longitude (currently, was 0.5 in the past)&lt;br /&gt;
* The current boundaries are Longitude -17 to 45 degrees, Latitude 5 to 62 degrees &lt;br /&gt;
* Some variables (temperature, wind speed) have multiple altitude levels. Currently, these include ''ground, ''1000'', ''925'', ''850'', and ''700'', given in milliBar.&lt;br /&gt;
&lt;br /&gt;
===== Temperature =====&lt;br /&gt;
By selecting the temperature option, you get the temperature as a slightly transparent filled contour plot, in an area bounded by the bounding box. The temperature range displayed is limited to a -40 to 50 degrees Celsius range, with a small jump at the freezing point, making it stand out slightly. The legend of the temperature can be found by using the ''legend'' option.&lt;br /&gt;
&lt;br /&gt;
Slightly visible white lines have been added to the contour plot to make the different levels of the contour plot easier to see. The levels are 0.33 degrees each, so three different bands will represent one degree in temperature shift.&lt;br /&gt;
&lt;br /&gt;
===== Wind Vector (Wind Barb)=====&lt;br /&gt;
Wind speed is an important factor in bird behavior. Flying against a strong wind is very inefficient, while flying along with the wind can save a lot of energy. It can often be seen that the general direction of birds is strongly dependent on the wind speed.&lt;br /&gt;
&lt;br /&gt;
If the wind Vector option can be used to visualize the wind speed. It will display the wind in yellow arrows (vectors) where the direction is the wind direction, and the size of the arrow gives an indication of the wind speed.&lt;br /&gt;
&lt;br /&gt;
When the ''legend'' option is checked, the wind vectors will be extended with very small icons on the base of the arrow. These icons can be clicked on, and a popup table will tell you the exact properties of the wind vector in that location, with speed in both U/V component, and in absolute speed/heading.&lt;br /&gt;
&lt;br /&gt;
===== Precipitation =====&lt;br /&gt;
By selecting the precipitation option, you get the accumulated precipitation for the last full 3 hour period (e.g. if you do it for example at 04:00, you get the precipitation from 00:00-03:00). This value is calculated by subtracting the previous accumulated value from the current accumulated value, giving us the accumulated value of that 3 hour period.&lt;br /&gt;
&lt;br /&gt;
The precipitation is visualized as a slightly transparent filled contour plot, in an area bounded by the bounding box. Everything under 1mm of precipitation is ignored, the rest is shown in a scale of dark blue to light blue. The range goes to 15+ mm, everything higher gets the same color as the 15mm level.&lt;br /&gt;
&lt;br /&gt;
The precision of the plot is 0.5 mm per color level.&lt;br /&gt;
&lt;br /&gt;
==== Wadden data ====&lt;br /&gt;
&lt;br /&gt;
There is a Tide data of the Wadden Sea available between 01-01-2010 and 01-06-2010. This data includes sea surface height and flow speeds with a temporal resolution of an hour.&lt;br /&gt;
This data is the result of a model run by Deltares, based on meteorological and boundary conditions, not measurements.&lt;br /&gt;
&lt;br /&gt;
===== Tide-Flow =====&lt;br /&gt;
&lt;br /&gt;
The tide flow shows arrows (vectors) representing the current speed and direction of the tide.&lt;br /&gt;
&lt;br /&gt;
===== Tide-Level =====&lt;br /&gt;
&lt;br /&gt;
The tide level shows a detailed contour of the sea surface height in the Wadden sea&lt;br /&gt;
&lt;br /&gt;
'''''Note:''''' Due to an excessive demand on the server, this option is currently disabled and does not work as of this time. See [[#Known problems/Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
===KML Documents ===&lt;br /&gt;
&lt;br /&gt;
The KML document panel contains the interface to add custom data to BirdView, in the form of KML/KMZ files. These files can be located either on your local machine, in which case you upload them, or they can be retrieved directly form an online location.&lt;br /&gt;
&lt;br /&gt;
Note that while all browsers support loading of online KML/KMZ files, only firefox supports opening local KML and KMZ files.&lt;br /&gt;
&lt;br /&gt;
==== Add online KML/KMZ files ====&lt;br /&gt;
&lt;br /&gt;
Here you can add the url of an online KML or KMZ file, and so load it directly in BirdView.&lt;br /&gt;
Either press &amp;quot;enter&amp;quot; or the little magnifying glass icon.&lt;br /&gt;
&lt;br /&gt;
==== Add Local KML/KMZ ====&lt;br /&gt;
'''''Note:''''' These are only supported in Firefox&lt;br /&gt;
&lt;br /&gt;
Both the KML and the KMZ options work similar: Press the &amp;quot;browse&amp;quot; button and select the KML or KMZ file you want to upload.&lt;br /&gt;
The file is then uploaded and opened in BirdView. Depending on the size of the file, this might take a short while.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Other Tabs ===&lt;br /&gt;
&lt;br /&gt;
There are a few other tabs, such as &amp;quot;Find Location&amp;quot;, &amp;quot;Google Earth Layers&amp;quot; and &amp;quot;Options&amp;quot;. These control some of the Google Earth plugin basic behaviors and properties, and are not documented here.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
&lt;br /&gt;
The BirdSim application itself runs on the https protocol, and requires a UvA-bits user account to access. &lt;br /&gt;
&lt;br /&gt;
The access to different birds is limited per account. You can only look at data that you have access to.&lt;br /&gt;
The same goes for the ECMWF weather prediction data. This functionality is limited to accounts with access to the ECMWF data.&lt;br /&gt;
&lt;br /&gt;
== Known problems/Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
Updated 6-12-2013&lt;br /&gt;
&lt;br /&gt;
Known issues:&lt;br /&gt;
* Tide Level option in Wadden data is disabled due to server strain&lt;br /&gt;
* Wadden data server is offline&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=BirdView&amp;diff=1421</id>
		<title>BirdView</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=BirdView&amp;diff=1421"/>
				<updated>2021-01-21T11:21:18Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''UNDER CONSTRUCTION'''&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
BirdView is an interactive web-browser embedded application that allows users to look at gps tracks from the database, superimposing them of different data sources, such as satellite images and meteorological data. &lt;br /&gt;
It is built using the Google Earth browser plugin, which enables it to make use of all the Google earth GIS functionality (pan, zoom, high quality satellite images, etc), and combine it with the ease of a web browser. &lt;br /&gt;
&lt;br /&gt;
'''''This service is currently not available.''''' &lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
&lt;br /&gt;
To be able to use BirdView, there are a couple of requirements. Most of these requirements are usually already fulfilled, or in case of installing Google Earth browser plugin, very easy.&lt;br /&gt;
* You need to run either Microsoft Windows (XP  or later) or Maxc OS X 10.4+ as operating system.&lt;br /&gt;
* You need to have a compatible web browser. Internet explorer, Google Chrome and Firefox are known to be compatible, but Firefox is recommended since it provides additional functionality such as opening local kmz/kml files.&lt;br /&gt;
* You need to have the Google Earth plugin installed. This can be done very simply provided you have administrator rights. It will query you to install the first time you open&lt;br /&gt;
* To retrieve data, you need to be logged in with your UvA-Bit password. See [[#Security]] for more details. &lt;br /&gt;
&lt;br /&gt;
We recommend Firefox as browser: While other browser will work too, only Firefox support loading of local KMZ/KML files.&lt;br /&gt;
&lt;br /&gt;
== Control Panel ==&lt;br /&gt;
&lt;br /&gt;
===BirdView tab===&lt;br /&gt;
[[image:interfaceBirdView.png|thumb|right|260px|Screenshot of the BirdView Control interface]]&lt;br /&gt;
&lt;br /&gt;
In the BirdView tab you can find most of the interface controls for selecting the data in the database. It allows you to specify the date and time your interested in, the radar beams you want to include in your queries, the bounding box for the meteorological data, and allows you to switch part of the visualization off and on as desired. Below we go into more detail on different parts of the interface.&lt;br /&gt;
&lt;br /&gt;
==== Time Control ====&lt;br /&gt;
The topmost 3 fields, named &amp;quot;Date/Time&amp;quot;, &amp;quot;Minutes&amp;quot; and &amp;quot;Animation&amp;quot;, and their related buttons, are used to navigate trough time, and enable the user to quickly and easily find periods of interest, such as heavy migration.&lt;br /&gt;
&lt;br /&gt;
When BirdView is started, the date and time default to UTC, rounded down to the hour. UTC is used, because the data in the database uses UTC timestamps, and by using UTC we avoid confusion as to timezones and daylight savings.&lt;br /&gt;
&lt;br /&gt;
To navigate trough time, there are two options:&lt;br /&gt;
* To go to a specified date and/or time, you can simply fill in a specific date/time in the box, and press the &amp;quot;go&amp;quot; button. The data in BirdView will automatically update for the new period.&lt;br /&gt;
* To move backward and forward trough time, you can use the back and forward arrow icons respectively. The amount of minutes in the box is the size of the time-steps. The data in BirdView will automatically update for the new time-step. The default time-step is 30 minutes, equal to the time between consecutive radar images.&lt;br /&gt;
* The animation controls can be used to let BirdView Automatically play trough consecutive time-steps. It uses the same size of time-steps as the &amp;quot;back/forward&amp;quot; controls. The interval in seconds between steps of the animation is equal to the number in the box. Default is 3 seconds, but if large data selections are made, it is recommended to take a larger interval for the animation. The animation can be started and stopped with the play and pause button respectively.&lt;br /&gt;
&lt;br /&gt;
==== Radar Selection ====&lt;br /&gt;
'''''note:''''' Radar is only enabled for certain users.&lt;br /&gt;
&lt;br /&gt;
Currently there are three different MPR radars (Glons, Wier and Millingen) in the database, that each have both a high beam and a low beam, making a total of 6 different radar images each update. &lt;br /&gt;
&lt;br /&gt;
Often when you are looking at the MPR data you only want a few of the radar images available. Therefore each radar (both low and high beam) can be selected individually.&lt;br /&gt;
This limits the amount of information on your screen, giving a better overview. Furthermore, it reduces the loading strain, since only the data of the selected radars is retrieved from the database.&lt;br /&gt;
&lt;br /&gt;
The radar selection is used for the following visualization options:&lt;br /&gt;
* Bird tracks&lt;br /&gt;
* Bird Summary Plot&lt;br /&gt;
* Radar Images&lt;br /&gt;
* Land Mask&lt;br /&gt;
* Rain Mask&lt;br /&gt;
&lt;br /&gt;
==== Bounding Box ====&lt;br /&gt;
'''''note:''''' Meteorological data is only enabled for certain users. &lt;br /&gt;
See also [[#Meteorological data]]&lt;br /&gt;
&lt;br /&gt;
The database contains a large collection of meteorological data, including wind speed, temperature and precipitation, for an area covering Scandinavia to North Africa.&lt;br /&gt;
For looking at continental migration, this data can be an invaluable asset, but it also puts a strain on the database, since loading large areas can result in longer loading times.&lt;br /&gt;
If you are only interested in the weather in the Benelux, the long loading time is unnecessary. Therefore we provide an interface to specify the area of interest. In this interface the user can set a bounding box by providing the minimum and maximum latitude and longitude coordinates. This way, only the meteorological data inside this area is queried and displayed. &lt;br /&gt;
&lt;br /&gt;
In some cases the meteorological data also has different values at different pressure levels in the atmosphere. For example, on lower pressure levels (i.e. higher in the air) the wind direction and speed can be significantly different compared to closer to the ground. Since birds can fly on different heights, this is can be an important factor when looking at bird migration.&lt;br /&gt;
&lt;br /&gt;
These settings are used for :&lt;br /&gt;
* Wind Barbs&lt;br /&gt;
* Precipitation&lt;br /&gt;
* Temperature&lt;br /&gt;
&lt;br /&gt;
==== MPR Radar data ====&lt;br /&gt;
[[image:ScreenShotBirdView1.jpg|thumb|right|400px|Screenshot of BirdView with summary plots of 6 selected radars]]&lt;br /&gt;
&lt;br /&gt;
There is no full temporal coverage for the MPR data in the FlySafe database. Out of every half hour, 10 consecutive radar revolutions are taken. &lt;br /&gt;
Therefor the default time step in BirdView is set to 30 minutes. &lt;br /&gt;
&lt;br /&gt;
The following options can be used to display different aspects of the MPR radar data&lt;br /&gt;
&lt;br /&gt;
=====Bird Tracks =====&lt;br /&gt;
&lt;br /&gt;
The MPR radar data contains a large amount of echoes, of which only a smalls set are bird echoes. In order to extract the echoes that are considered to be birds, an algorithm (ROBIN) is used. The algorithm extracts bird echoes, and then connects the echoes that it considers the same bird, resulting on small bird tracks of up to 10 different points. &lt;br /&gt;
&lt;br /&gt;
By selecting the Bird tracks option, the bird tracks for all selected radars are shown. The low beam birds are shown in red, and the high beam birds are shown in green. There currently is no mechanism to identify which bird belongs to which radar, only the high and low beam distinction is made.&lt;br /&gt;
&lt;br /&gt;
===== Bird summary Plot =====&lt;br /&gt;
&lt;br /&gt;
The bird tracks give an indication of the amount of birds detected by the MPR radar, but not of other characteristics, such as average speed and heading for each track.&lt;br /&gt;
In order to give an indication of these factors, a dynamically generated bird summary plot can be shown. In this plot, the average speed and direction of each bird track (taken from the entire radar area for a given beam) are plotted on a circular graph. The angular component is the average flight direction, the radial component is the average speed, and the color indicates the density of tracks in the plot exhibiting a particular combination of speed and direction.&lt;br /&gt;
&lt;br /&gt;
The plot itself is dynamically generated by a separate R (http://www.r-project.org) process, which can run preloaded R scripts. In this case, a bird summary plot is generated that gives a general indication of the direction and speed of bird migration. It is also possible to write other R scripts that generate different kinds of plots. This still requires some rewriting of code, but is a relatively simple operation, and could be something for future extensions of BirdView.&lt;br /&gt;
&lt;br /&gt;
If multiple radars or beams are selected, a unique plot for each radar and beam combination is generated. BirdView displays all the generated plots along the left of the Google Earth window (see figure on the right), stacked under one other, in the same order as the radars appear in the radar selection. If the total height of the plots is bigger than the height of the window, the images are automatically resized so that they fit. &lt;br /&gt;
&lt;br /&gt;
Note: If data for the selected radar has not been uploaded for the selected time period, there are no bird tracks with which to produce a plot. In that case a default image (a large red &amp;quot;X&amp;quot;) is shown in place of the plot.&lt;br /&gt;
&lt;br /&gt;
===== MPR Images ===== &lt;br /&gt;
'''''Note:''''' Viewing MPR images requires access&lt;br /&gt;
Every half hour, 10 radar revolutions are recorded, and the resulting echo densities are added together and stored as an image. In this image, we can distinguish different types of echoes, such as permanent landmarks, rainclouds, and birds. Since we are mainly interested in the birds echoes, we want to be able to distinguish between different type of echoes. This is done by apply certain filters on the echo density image, forming seperate images. There are currently two type of filters in the FlySafe database, in addition to the unfiltered radar image, namely the ''Land mask'' and ''Rain mask''. However it must be noted that echoes filtered by either the land or rain masks are not per definition land or rain, but only echoes fulfilling certain filtering criteria.&lt;br /&gt;
&lt;br /&gt;
Each of the different type of images can be added in BirdView as an overlay, centered on the location of the radar. These layers can be turned on and off individually, in order to look at different details of the radar image. Furthermore, each of the overlays is partly transparent where there are no echoes, in order to be able to see how the radar image relates to the real-world satellite images.&lt;br /&gt;
&lt;br /&gt;
When adding the overlays, they are always added in the following order, bottom to top:&lt;br /&gt;
* bottom is the full echo density image, and this is colored in a range from bright green to red, where red is the most dense echo.&lt;br /&gt;
* The middle level is the Rain Mask, which is shown as a Blue layer.&lt;br /&gt;
* The top level is the Land Mask, which is shown as a Green layer.&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
*The images are mapped to approximately fit their real location in BirdView. The aligning of the radar image and the real-world coordinates was done by hand, by comparing certain landmarks (church towers) and their echoes. Additionally, certain image and coordinate conversion steps produce deviation errors, that can result in errors in both radial and angular position.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Meteorological data ====&lt;br /&gt;
[[Image:ScreenShotMeteo.png|thumb|right|500px|Wind, temperature and precipitation data in BirdView]]&lt;br /&gt;
The FlySafe database contains the weather prediction data acquired from ECMWF. The meteorological data goes back as far as 01-01-2005, although only wind vector is available for that particular period.&lt;br /&gt;
&lt;br /&gt;
ECMWF data  properties:&lt;br /&gt;
* The prediction is 72 hours into the future&lt;br /&gt;
* The data is updated every 12 hours, overwriting previous data.&lt;br /&gt;
* The last prediction for any 12 hour period is kept in the database&lt;br /&gt;
* The data interval is 3 hours, e.g 00:00, 03:00, etc.&lt;br /&gt;
* The resolution is 0.25 degrees latitude and longitude (currently, was 0.5 in the past)&lt;br /&gt;
* The current boundaries are Longitude -17 to 45 degrees, Latitude 5 to 62 degrees &lt;br /&gt;
* Some variables (temperature, wind speed) have multiple altitude levels. Currently, these include ''ground, ''1000'', ''925'', ''850'', and ''700'', given in milliBar.&lt;br /&gt;
&lt;br /&gt;
===== Temperature =====&lt;br /&gt;
By selecting the temperature option, you get the temperature as a slightly transparent filled contour plot, in an area bounded by the bounding box. The temperature range displayed is limited to a -40 to 50 degrees Celsius range, with a small jump at the freezing point, making it stand out slightly. The legend of the temperature can be found by using the ''legend'' option.&lt;br /&gt;
&lt;br /&gt;
Slightly visible white lines have been added to the contour plot to make the different levels of the contour plot easier to see. The levels are 0.33 degrees each, so three different bands will represent one degree in temperature shift.&lt;br /&gt;
&lt;br /&gt;
===== Wind Vector (Wind Barb)=====&lt;br /&gt;
Wind speed is an important factor in bird behavior. Flying against a strong wind is very inefficient, while flying along with the wind can save a lot of energy. It can often be seen that the general direction of birds is strongly dependent on the wind speed.&lt;br /&gt;
&lt;br /&gt;
If the wind Vector option can be used to visualize the wind speed. It will display the wind in yellow arrows (vectors) where the direction is the wind direction, and the size of the arrow gives an indication of the wind speed.&lt;br /&gt;
&lt;br /&gt;
When the ''legend'' option is checked, the wind vectors will be extended with very small icons on the base of the arrow. These icons can be clicked on, and a popup table will tell you the exact properties of the wind vector in that location, with speed in both U/V component, and in absolute speed/heading.&lt;br /&gt;
&lt;br /&gt;
===== Precipitation =====&lt;br /&gt;
&lt;br /&gt;
By selecting the precipitation option, you get the accumulated precipitation for the last full 3 hour period (e.g. if you do it for example at 04:00, you get the precipitation from 00:00-03:00). This value is calculated by subtracting the previous accumulated value from the current accumulated value, giving us the accumulated value of that 3 hour period.&lt;br /&gt;
&lt;br /&gt;
The precipitation is visualized as a slightly transparent filled contour plot, in an area bounded by the bounding box. Everything under 1mm of precipitation is ignored, the rest is shown in a scale of dark blue to light blue. The range goes to 15+ mm, everything higher gets the same color as the 15mm level.&lt;br /&gt;
&lt;br /&gt;
The precision of the plot is 0.5 mm per color level.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===KML Documents ===&lt;br /&gt;
&lt;br /&gt;
The KML document panel contains the interface to add custom data to BirdView, in the form of KML/KMZ files. These files can be located either on your local machine, in which case you upload them, or they can be retrieved directly form an online location.&lt;br /&gt;
&lt;br /&gt;
Note that while all browsers support loading of online KML/KMZ files, only firefox supports opening local KML and KMZ files.&lt;br /&gt;
&lt;br /&gt;
==== Add online KML/KMZ files ====&lt;br /&gt;
&lt;br /&gt;
Here you can add the url of an online KML or KMZ file, and so load it directly in BirdView.&lt;br /&gt;
Either press &amp;quot;enter&amp;quot; or the little magnifying glass icon.&lt;br /&gt;
&lt;br /&gt;
==== Add Local KML/KMZ ====&lt;br /&gt;
'''''Note:''''' These are only supported in Firefox&lt;br /&gt;
&lt;br /&gt;
Both the KML and the KMZ options work similar: Press the &amp;quot;browse&amp;quot; button and select the KML or KMZ file you want to upload.&lt;br /&gt;
The file is then uploaded and opened in BirdView. Depending on the size of the file, this might take a short while.&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous tabs ===&lt;br /&gt;
&lt;br /&gt;
The tabs &amp;quot;Find location&amp;quot;, &amp;quot;Google Earth Layers&amp;quot; and &amp;quot;Options&amp;quot; provide some of additional functionality that is usually found in Google earth. &lt;br /&gt;
The functions and options function similar as a normal Google earth/Google maps client.&lt;br /&gt;
&lt;br /&gt;
==== Credits ====&lt;br /&gt;
&lt;br /&gt;
In this overview tab the main partners in the FlySafe Project are listed as images.&lt;br /&gt;
Each image is a link to the organizations website, and a mouse-over shows the name of the partner.&lt;br /&gt;
&lt;br /&gt;
Furthermore, there is a checkbox that switches on the logo-icons in the Google earth plugin. These icons show the location of the the partners on the map.&lt;br /&gt;
The logo-icons are visible when you start BirdView, but are turned off automatically after 10 seconds.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
&lt;br /&gt;
The security of the UvA-Bits database is an important issue, and as such there are a few security measures in place to protect both the data in the database, and the system itself.&lt;br /&gt;
&lt;br /&gt;
The BirdView application itself is open to the public, and can be accessed by anyone. However, to access any kind of data from the database, a user is required to log in using her UvA Bits username and password.&lt;br /&gt;
&lt;br /&gt;
Some functionality, such as the ECMWF data and the radar images, require additional access rights, and might be disabled for some users.&lt;br /&gt;
&lt;br /&gt;
== Known problems/Troubleshooting ==&lt;br /&gt;
''updated 6-12-2013''&lt;br /&gt;
&lt;br /&gt;
* Loading local KML/KMZ only works from Firefox&lt;br /&gt;
* Loading local KML/KMZ does not work correctly when embedded in the FlySafe services environment (https://services.e-ecology.sara.nl)&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=Flight_Generator&amp;diff=1420</id>
		<title>Flight Generator</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=Flight_Generator&amp;diff=1420"/>
				<updated>2021-01-21T11:15:56Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* Save selection */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Flight generator ==&lt;br /&gt;
&lt;br /&gt;
Doarama (http://http://www.doarama.com/) is a GPS track visualization tool. To add a track to Doarama a GPX file is required.&lt;br /&gt;
A GPX file of a UvA-BiTS track can be generated using this service.&lt;br /&gt;
&lt;br /&gt;
The service itself can be found via the Virtual Lab [http://www.uva-bits.nl/virtual-lab/] by selecting &amp;quot;Flight Generator&amp;quot;. This requires special access: You need to have credentials and your IP address should be registered. Please contact [mailto://UvA-BiTS@uva.nl UvA-BiTS@uva.nl] if you have problems getting access.&lt;br /&gt;
&lt;br /&gt;
To make nice flights you need high resolution data. http://www.doarama.com/view/135589  is an example of a foraging flight of our famous Lesser Black backed Gull that was breeding on Texel and went to Amsterdam for some time (http://www.uva-bits.nl/kml/visiting-amsterdam-for-a-day/) . This example shows nice high resolution data (16 sec interval; 9:00 -14:25),  lower resolution data suggesting angulated flight (5 min interval; up to 8:20), and data that are difficult to interpret without landscape reference above the sea (11:00-15:00).&lt;br /&gt;
&lt;br /&gt;
=== System Requirements ===&lt;br /&gt;
&lt;br /&gt;
==== Software Requirements ====&lt;br /&gt;
The webservice itself is standard javascript website, and as such is supported by all modern browsers and operating systems.&lt;br /&gt;
&lt;br /&gt;
==== Hardware requirements ====&lt;br /&gt;
The Doarama (http://http://www.doarama.com/) visualization is a visual application, and therefore does require a bit of graphical power. Fortunately, most modern computers have decent hardware for graphical acceleration, so this should not be a problem. But for example, if the graphical drivers are not installed correctly, or if remote desktop tools are used, performance can be limited. &lt;br /&gt;
&lt;br /&gt;
Additionally, Doarama require a decent internet connection. They use satellite images as background, and these have to be retrieved from the internet. Furthermore, if large amounts of data are selected in the flight generator, performance issues may arise.&lt;br /&gt;
&lt;br /&gt;
==== The interface ====&lt;br /&gt;
&lt;br /&gt;
=== The Submit Interface ===&lt;br /&gt;
[[Image:GPXSubmit.png|thumb|right|400px|abc|]]&lt;br /&gt;
&lt;br /&gt;
==== Select start date and end date ====&lt;br /&gt;
&lt;br /&gt;
For the begin and end date, there are two options: You can either type a date directly, or you can use the calender button. When you use the calender button, a small window pops up where a desired date can be selected. Here you can either use the arrows, or you can use ctrl up/down and ctrl left/right to change the years and months respectively. If you have selected a year and month, you can click on a day to finalize you date selection. For more detailed time tuning, there are also fields for the hours and minutes. Again, you can either type it, or you can use the drop down to select the desired hour.&lt;br /&gt;
&lt;br /&gt;
==== Select tracker ====&lt;br /&gt;
&lt;br /&gt;
To select tracker click on the row. The checkbox should be checked.&lt;br /&gt;
&lt;br /&gt;
==== Save selection ====&lt;br /&gt;
&lt;br /&gt;
Users often are interested in the same tracker. It would be tedious to select the same tracker each time. Therefore we added functionality to save and load specific selections.&lt;br /&gt;
To save the current selection, press the ''Save selection'' button, choose a name, by default the current time will be used.&lt;br /&gt;
To restore a saved selection, press the ''Restore saved selection'' button, double click on the name or press the icon with the arrow.&lt;br /&gt;
&lt;br /&gt;
As a bonus the last submitted selection is always saved as ''Last used''. This can be used when you want to make the same gpx file again or make small changes without configuring everything again.&lt;br /&gt;
&lt;br /&gt;
Please note that the saved selections are browser-specific, so they will not show up when using a different computer.&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
&lt;br /&gt;
The Flight generator will give a error when you try to make a GPXfile with more than 50.000 datapoints.&lt;br /&gt;
The error will tell you how many data point are currently selected.&lt;br /&gt;
&lt;br /&gt;
=== Visualization ===&lt;br /&gt;
&lt;br /&gt;
To make a Doarama visualization:&lt;br /&gt;
&lt;br /&gt;
# Download the GPX file from the result page&lt;br /&gt;
# Go to http://www.doarama.com and Login&lt;br /&gt;
# Click 'Upload' in topleft corner of page&lt;br /&gt;
# Select the downloaded GPX file and upload it&lt;br /&gt;
# Edit description &lt;br /&gt;
# Set 'Activity Type' to 'Fly Bird / Aves'&lt;br /&gt;
# Create a visualization&lt;br /&gt;
# Press save button&lt;br /&gt;
# The url that now appears in your browser is one you can share with others&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=Flight_Generator&amp;diff=1419</id>
		<title>Flight Generator</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=Flight_Generator&amp;diff=1419"/>
				<updated>2021-01-21T11:15:17Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* Hardware requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Flight generator ==&lt;br /&gt;
&lt;br /&gt;
Doarama (http://http://www.doarama.com/) is a GPS track visualization tool. To add a track to Doarama a GPX file is required.&lt;br /&gt;
A GPX file of a UvA-BiTS track can be generated using this service.&lt;br /&gt;
&lt;br /&gt;
The service itself can be found via the Virtual Lab [http://www.uva-bits.nl/virtual-lab/] by selecting &amp;quot;Flight Generator&amp;quot;. This requires special access: You need to have credentials and your IP address should be registered. Please contact [mailto://UvA-BiTS@uva.nl UvA-BiTS@uva.nl] if you have problems getting access.&lt;br /&gt;
&lt;br /&gt;
To make nice flights you need high resolution data. http://www.doarama.com/view/135589  is an example of a foraging flight of our famous Lesser Black backed Gull that was breeding on Texel and went to Amsterdam for some time (http://www.uva-bits.nl/kml/visiting-amsterdam-for-a-day/) . This example shows nice high resolution data (16 sec interval; 9:00 -14:25),  lower resolution data suggesting angulated flight (5 min interval; up to 8:20), and data that are difficult to interpret without landscape reference above the sea (11:00-15:00).&lt;br /&gt;
&lt;br /&gt;
=== System Requirements ===&lt;br /&gt;
&lt;br /&gt;
==== Software Requirements ====&lt;br /&gt;
The webservice itself is standard javascript website, and as such is supported by all modern browsers and operating systems.&lt;br /&gt;
&lt;br /&gt;
==== Hardware requirements ====&lt;br /&gt;
The Doarama (http://http://www.doarama.com/) visualization is a visual application, and therefore does require a bit of graphical power. Fortunately, most modern computers have decent hardware for graphical acceleration, so this should not be a problem. But for example, if the graphical drivers are not installed correctly, or if remote desktop tools are used, performance can be limited. &lt;br /&gt;
&lt;br /&gt;
Additionally, Doarama require a decent internet connection. They use satellite images as background, and these have to be retrieved from the internet. Furthermore, if large amounts of data are selected in the flight generator, performance issues may arise.&lt;br /&gt;
&lt;br /&gt;
==== The interface ====&lt;br /&gt;
&lt;br /&gt;
=== The Submit Interface ===&lt;br /&gt;
[[Image:GPXSubmit.png|thumb|right|400px|abc|]]&lt;br /&gt;
&lt;br /&gt;
==== Select start date and end date ====&lt;br /&gt;
&lt;br /&gt;
For the begin and end date, there are two options: You can either type a date directly, or you can use the calender button. When you use the calender button, a small window pops up where a desired date can be selected. Here you can either use the arrows, or you can use ctrl up/down and ctrl left/right to change the years and months respectively. If you have selected a year and month, you can click on a day to finalize you date selection. For more detailed time tuning, there are also fields for the hours and minutes. Again, you can either type it, or you can use the drop down to select the desired hour.&lt;br /&gt;
&lt;br /&gt;
==== Select tracker ====&lt;br /&gt;
&lt;br /&gt;
To select tracker click on the row. The checkbox should be checked.&lt;br /&gt;
&lt;br /&gt;
==== Save selection ====&lt;br /&gt;
&lt;br /&gt;
Users often are interested in the same tracker. It would be tedious to select the same tracker each time. Therefore we added functionality to save and load specific selections.&lt;br /&gt;
To save the current selection, press the ''Save selection'' button, choose a name, by default the current time will be used.&lt;br /&gt;
To restore a saved selection, press the ''Restored saved selection'' button, double click on the name or press the icon with the arrow.&lt;br /&gt;
&lt;br /&gt;
As a bonus the last submitted selection is always saved as ''Last used''. This can be used when you want to make the same gpx file again or make small changes without configuring everything again.&lt;br /&gt;
&lt;br /&gt;
Please note that the saved selections are browser-specific, so they will not show up when using a different computer.&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
&lt;br /&gt;
The Flight generator will give a error when you try to make a GPXfile with more than 50.000 datapoints.&lt;br /&gt;
The error will tell you how many data point are currently selected.&lt;br /&gt;
&lt;br /&gt;
=== Visualization ===&lt;br /&gt;
&lt;br /&gt;
To make a Doarama visualization:&lt;br /&gt;
&lt;br /&gt;
# Download the GPX file from the result page&lt;br /&gt;
# Go to http://www.doarama.com and Login&lt;br /&gt;
# Click 'Upload' in topleft corner of page&lt;br /&gt;
# Select the downloaded GPX file and upload it&lt;br /&gt;
# Edit description &lt;br /&gt;
# Set 'Activity Type' to 'Fly Bird / Aves'&lt;br /&gt;
# Create a visualization&lt;br /&gt;
# Press save button&lt;br /&gt;
# The url that now appears in your browser is one you can share with others&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=Dashboard&amp;diff=1418</id>
		<title>Dashboard</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=Dashboard&amp;diff=1418"/>
				<updated>2021-01-21T11:10:14Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* Monitoring your trackers: Dashboard tab */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The dashboard is the tool to view the details of your projects. If you have administrative rights in a project you can also use it to administer them (e.g.: see trackers, create track sessions, add users...)&lt;br /&gt;
&lt;br /&gt;
= Monitoring your trackers: Dashboard tab =&lt;br /&gt;
&lt;br /&gt;
The direct link: https://dashboard.e-ecology.nl&lt;br /&gt;
&lt;br /&gt;
The Dashboard tab is the facility that helps you to get an overview of which trackers recently made contact and how much data they uploaded to the database.&lt;br /&gt;
&lt;br /&gt;
On the Dashboard there are two tabs, “Overview” and “Files Dashboard”:&lt;br /&gt;
* Overview:  gives an overview of the tracker activity for all your projects for the last three days.&lt;br /&gt;
* Files Dashboard: allows you to examine tracker activity for specific projects for adjustable time periods.&lt;br /&gt;
&lt;br /&gt;
A tracker is highlighted in colour if it uploaded data. The small horizontal bar indicates how much data the tracker uploaded to the database. See the legend on the “Files Dashboard” for an explanation.&lt;br /&gt;
&lt;br /&gt;
''Which trackers are shown on the dashboard?''&lt;br /&gt;
; Overview: only active trackers are shown, that is trackers with an active track session&lt;br /&gt;
; Files Dashboard: By default only active trackers are shown. Click on “show all trackers” to show all trackers of the project, that is also those without an active track session (e.g. to show trackers that you have turned on, but that have not been put on a bird yet, and therefore do not have an active track session).&lt;br /&gt;
&lt;br /&gt;
= Administering your projects: Projects tab =&lt;br /&gt;
&lt;br /&gt;
If you have administrative rights in a project, then you can see an &amp;quot;Project admin&amp;quot; tab on the dashboard. The direct link: https://services.e-ecology.sara.nl/dashboard/projects/&lt;br /&gt;
&lt;br /&gt;
== Users in your project ==&lt;br /&gt;
# Users should register themselves with Uva-Bits on https://services.e-ecology.sara.nl/dashboard/open/signup. Only after users have successfully registered themselves can you make them a member of your project, by following the next steps:&lt;br /&gt;
# Click Project Admin on the top of your screen&lt;br /&gt;
# On the Overview tab, select the project you want to add a member to&lt;br /&gt;
# Click on the Memberships tab&lt;br /&gt;
# Click on Add new to add a user membership to the selected project&lt;br /&gt;
# You will now see a screen “Create Membership” where you need to fill out:&lt;br /&gt;
#* User: the login name of the user (which has already registered himself on UvaBits) that you want to add (when you start typing the user’s name, a list will pop up with users’ names that match what you have just typed in so far)&lt;br /&gt;
#* Role: the membership role, i.e. the administrative rights you want to give to the user. Pick one of four options:&lt;br /&gt;
#** Enrolled: the user can only see the project exists, but cannot access data or perform administrative rights. &lt;br /&gt;
#** Base: assign this role to standard users. They can view and use the project data, but have no administrative rights&lt;br /&gt;
#** Admin: assign this role to project administrators. They can add/change user memberships, birds and track sessions&lt;br /&gt;
#** Leader: the role with highest administrative rights, typically for the principal investigator. Admin cannot change the administrative rights of a leader, but leaders can change the rights of Admins.&lt;br /&gt;
#* Status: select Approved to add the user to your project. If you want to put the membership temporarily on hold, select Pending_User (this will trigger the user to submit it back to you for re-approval).&lt;br /&gt;
#* Comments: any comments you like to add to the new membership&lt;br /&gt;
&lt;br /&gt;
== Trackers in your project ==&lt;br /&gt;
# Click Project Admin on the top of your screen&lt;br /&gt;
# On the Overview tab, select the project for which you want to see the trackers&lt;br /&gt;
# Click on the Trackers tab&lt;br /&gt;
# This will give you an overview of all the trackers part of your project. Most important are the numbers listed in the column “Tracker”, these correspond to the number on the physical tracker device (this number is called device_info_serial in the database).&lt;br /&gt;
# In case you have several projects or collaborate with other projects, you may want to share trackers of your current project with other projects. To do so click “Add new share” and enter the following:&lt;br /&gt;
#* Share with project: enter the project name of the project you want to share a tracker with &lt;br /&gt;
#* Tracker: the tracker number of the tracker you want to share&lt;br /&gt;
#* Tracker ownership: usually, leave it blank (it is meaningful only if you have had a tracker in your project within two or more time periods)&lt;br /&gt;
#* Start date / End date: the start and end dates during which you want to share the tracker with another project. This gives you the flexibility to share data for a restricted time period only (e.g.: to prevent disclosing a nest location during mating season).&lt;br /&gt;
&lt;br /&gt;
== Birds in your project ==&lt;br /&gt;
# Click Project Admin on the top of your screen&lt;br /&gt;
# On the Overview tab, select the project you want to add a bird to&lt;br /&gt;
# Click on the Birds tab&lt;br /&gt;
# Click on Add new to add a bird to the selected project&lt;br /&gt;
# Fill out the following information (if available)&lt;br /&gt;
#* ring number: the metal  ring number issued by your national ringing centre&lt;br /&gt;
#* Colour ring: colour ring code of your bird (if applicable)&lt;br /&gt;
#* Species: the latin name of the species (must be selected out the list we recognise; if you miss yours, please contact the system administrators)&lt;br /&gt;
#* Sex&lt;br /&gt;
#* Mass in grams&lt;br /&gt;
#* Start Date: the date at which the bird was either born or seen in the study area for the first time (start of the bird’s lifespan)&lt;br /&gt;
#* End Date: the date at which the bird died. Put into the far future if unknown or still alive (end of the bird’s lifespan)&lt;br /&gt;
#* Any remarks (e.g. the circumstances under which the bird was found dead)&lt;br /&gt;
# Click on Submit to save the bird to the selected project&lt;br /&gt;
&lt;br /&gt;
== Track sessions: assigning a tracker to a bird ==&lt;br /&gt;
Trackers have to be assigned to birds through a so-called Track Session, which establishes the link between a tracker and a bird during a period of time. You can create a Track Session like this:&lt;br /&gt;
&lt;br /&gt;
# Click Project Admin on the top of your screen&lt;br /&gt;
# On the Overview tab, select the project you want to add a bird to&lt;br /&gt;
# Click on the Track sessions tab&lt;br /&gt;
# Click on Add new to add a bird to the selected project&lt;br /&gt;
# Fill out the following fields:&lt;br /&gt;
#* Tracker: the number of the tracker (this number is called device_info_serial in the database)&lt;br /&gt;
#* Individual: the ring number of the bird &lt;br /&gt;
#* Tagging date: this is the start date of the Track Session&lt;br /&gt;
#* End date: this is the date at which you want to end the Track Session (e.g.:this can be either the date at which the bird died, the date at which you removed the tracker during a recapture, or the date at which the tracker was lost for other reasons).&lt;br /&gt;
#* Place of capture: select on the map as accurately as possible, or enter a coordinate and click “Bring map to given lat/lon”&lt;br /&gt;
#* Remarks: put any remarks here, in particular the reason why the track session was ended.&lt;br /&gt;
&lt;br /&gt;
Note that on the Dashboard overview only trackers with active track sessions in the period you queried for are shown by default, which are trackers for which at least a day within the period you queried for lies between the track session start and end date.&lt;br /&gt;
&lt;br /&gt;
IMPORTANT: Adding track sessions may be the most involving step of the project administration, and several conditions need to be taken into account before a track session can be successfully defined:&lt;br /&gt;
#	The tracker you want to put on a bird must be owned by your project (i.e. it must be listed under the tab “Trackers”)&lt;br /&gt;
#	You must have added the bird in the system &lt;br /&gt;
#	A tracker can be assigned only to one bird at the time. This means you must close any existing track session of the tracker, before you can assign it to a new bird. So if you have removed the tracker from a bird and want to put it on a different bird, you must first close the existing track session of the tracker before you can assign it to a new bird. Closing the track session is simply done by entering the end date of the track session, which should lie before the date at which you want to start the new track session.&lt;br /&gt;
#	A bird can have assigned only one active track session at the same time, because a bird cannot carry more than one tracker simultaneously. So if you have removed a tracker from a bird, and want to put a new tracker on that same bird, you first have to close the track session of the first tracker, before you can start the track session of the new tracker. Closing a track session is simply done by entering the end date of the previous track session, which should lie before the date at which you want to start the new track session.&lt;br /&gt;
&lt;br /&gt;
To avoid problems we urge users to properly administer their track sessions and bird metadata at all times. So if you replace trackers, or find birds dead with a tracker, always update your track sessions immediately by providing the updated start and end dates of the existing track sessions.&lt;br /&gt;
&lt;br /&gt;
== Including a bird in a nest ==&lt;br /&gt;
You can keep track of nests for a bird. You just need to create the nest and tell which bird is living there (and eventually, partners or offspring). The bird must exist in the system before you can create a nest for it.&lt;br /&gt;
&lt;br /&gt;
To create a nest:&lt;br /&gt;
# Click Project Admin on the top of your screen&lt;br /&gt;
# On the Overview tab, select the project you want to add a nest to&lt;br /&gt;
# Click on the Nests tab&lt;br /&gt;
# Click on Add new to add a nest for a bird from the selected project&lt;br /&gt;
# Fill in the following fields:&lt;br /&gt;
#* Ref. name: A string with a useful reference for you. We recommend its being unique for each nest in a project, but the system does NOT enforce it.&lt;br /&gt;
#* Birds (max. 2): a maximum of 2 existing birds that you have identified living on that nest&lt;br /&gt;
#* Nest location: the important fields are Latitude and Longitude; these will be stored in the database. The map is there as a visual cue and you can double click on the map to fill the Latitude and Longitude. You can search for a location on the textbox above the map to bring the area of the map close to a known point.&lt;br /&gt;
#* Start date: when the nest was spotted&lt;br /&gt;
#* End date: When the nest ceases to be relevant to you.&lt;br /&gt;
#* Found by: place to credit people involved in finding the nest&lt;br /&gt;
#* Remarks: free text. Maybe you want to include an address or use it as a log of subsequent observations.&lt;br /&gt;
# Finally, click on Submit to store the nest.&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=E-Ecology_Documentation_and_Guidance&amp;diff=1417</id>
		<title>E-Ecology Documentation and Guidance</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=E-Ecology_Documentation_and_Guidance&amp;diff=1417"/>
				<updated>2021-01-21T09:53:21Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* UvA-BiTS Services */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Last updated: February 2018, Stacy Shinneman&lt;br /&gt;
&lt;br /&gt;
The e-Ecology Virtual Laboratories represent a collaborative effort between the University of Amsterdam Institute for Biodiversity and Ecosystem Dynamics and SURFsara Computing to manage bird tracking data and develop tools for data exploration, analysis and visualization. This wiki is designed to facilitate access to the data and tools within the Virtual Laboratories and to provide a forum for collaboration. &lt;br /&gt;
&lt;br /&gt;
The e-Ecology database contains many different datasets, each of which is contained within its own schema. Prior to 2018, the e-Ecology database was also referred to as the FlySafe database.&lt;br /&gt;
&lt;br /&gt;
== UvA-BiTS Data == &lt;br /&gt;
&lt;br /&gt;
Bird data collected with the UvA-BiTS Bird Tracking System is managed within the gps schema of the e-Ecology database. &lt;br /&gt;
&lt;br /&gt;
Note: We are continually working on improving UvA-BiTS services, including data processing and Virtual Lab functionality. In some cases, this has enabled us to extract more information from old GPS log files which is then incorporated into the database.  These changes may result in slight differences when you reprocess historic data. &lt;br /&gt;
&lt;br /&gt;
::* [[ DB_Views_2015 | e-Ecology UvA-BiTS database for general use (views) ]]&lt;br /&gt;
::* [[ DB_Tables_2015 | e-Ecology UvA-BiTS tables behind the views (not accessible for normal use) ]]&lt;br /&gt;
::* [[How to access the e-Ecology database]]&lt;br /&gt;
::* [[Useful Queries]]&lt;br /&gt;
&lt;br /&gt;
==UvA-BiTS Services==&lt;br /&gt;
&lt;br /&gt;
* Visualization Tools&lt;br /&gt;
&lt;br /&gt;
:: [[KMZ Generator|UvA-BiTS KMZ Generator]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::Produces kmz files of UvA-BiTS bird tracking data to be viewed in Google Earth. &lt;br /&gt;
:: [[Tracker Calendar]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::Calendar overview with daily statistics of GPS-tracker&lt;br /&gt;
:: [[Flight Generator]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::This tool produces GPX files from UvA-BiTS tracking data for dynamic [http://www.doarama.com Doarama] visualizations.&lt;br /&gt;
:: [[BirdView]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::'''''This service is currently not available.''''' Access meterological and radar data and overlay with GPS bird tracking data.&lt;br /&gt;
:: [[BirdSim]]:  &amp;lt;br/ &amp;gt;&lt;br /&gt;
:::'''''This service is currently not available.''''' More dynamic version of BirdView that allows the user to scroll through weather data in time and space.&lt;br /&gt;
&lt;br /&gt;
* [[Dashboard]]:   These web pages allow UvA-BiTS users to get an overview of the raw data files of GPS bird tracking devices they have access to and to access the dashboard for administering projects. &lt;br /&gt;
&lt;br /&gt;
* [[ Annotation tables ]] for uploading GPS annotation data into your own schema and sharing your tables with other users. '''''This service is currently not available.'''''&lt;br /&gt;
* [[ SMS tables ]] for storage of SMS messages send by trackers.&lt;br /&gt;
* [[ CartoDB ]] usage and limitation of CartoDB server&lt;br /&gt;
&lt;br /&gt;
== Changes to the UvA-BiTS data model in 2014 ==&lt;br /&gt;
'''Important'''&lt;br /&gt;
In the summer of 2014 we have '''re-arranged the administrative''' part of UvA-BiTS (and e-Ecology) in the database. End users may have to adapt their programs the following way:&lt;br /&gt;
:* The '''uva_*_limited''' views that used to exist in the gps schema are gone. Most of them should have been replaced with an equivalent '''ee_*_limited counterpart'''.&lt;br /&gt;
:* The new ee_*_limited views show a superset of the same information as before, but enhanced with new project information.&lt;br /&gt;
:* Some '''column names''' in the ee_*_limited views may differ from the previous views.&lt;br /&gt;
:* There are new limited views: &lt;br /&gt;
:** gps.ee_'''project'''_limited: shows your projects' information&lt;br /&gt;
:** gps.ee_'''shared'''_*_limited: set of data you are able to see related to trackers that a project is sharing with a project you belong to&lt;br /&gt;
:* Special attention: gps.uva_device_limited is now replaced by '''gps.ee_tracker_limited'''. For each tracker, you now see which project provides you access to that tracker.&lt;br /&gt;
:* Also, '''gps.uva_tracking_limited''' is gone. Instead of that we have gps.ee_tracker_speed_limited, which adds speed columns to the original data. This amounts to a merger of gps.ee_tracking_limited, gps.ee_tracking_speed_3d_limited and gps.ee_tracking_speed_limited.&lt;br /&gt;
:* [[ UvAGPS|UvA-BiTS Data Model]] - OLD&lt;br /&gt;
&lt;br /&gt;
==Other e-Ecology Datasets==&lt;br /&gt;
&lt;br /&gt;
'''ENVIRONMENTAL DATA'''&lt;br /&gt;
&lt;br /&gt;
::* [[ Elevation|Elevation Data ]]&lt;br /&gt;
::* [[ ECMWF|Weather Forecast Data (ECMWF)]] Restricted to FlySafe users.&lt;br /&gt;
&lt;br /&gt;
'''FLYSAFE'''&lt;br /&gt;
&lt;br /&gt;
:Data related to European Space Agency FlySafe project. Financed by the Royal Netherlands Air Force. &lt;br /&gt;
&lt;br /&gt;
::* [[Argos Data Model|Argos GPS Data Model]]&lt;br /&gt;
::* [[ RADAR|Radar Data Model]]&lt;br /&gt;
::* [[ Wind profile|Wind Profile Data Model]]&lt;br /&gt;
::* [[How to access the e-Ecology database]]&lt;br /&gt;
&lt;br /&gt;
==Other e-Ecology Services==&lt;br /&gt;
[[e-Ecology GPS Bird Track Generator]]: Produce kmz files of ARGOS/GPS bird tracking data from the FlySafe project to be viewed in Google Earth. &lt;br /&gt;
&lt;br /&gt;
[[ Administration]]: Information about user rights and data processing tasks.&lt;br /&gt;
&lt;br /&gt;
[[ Bookkeeping]]: Description of tables related to e-Ecology data processing and archiving.&lt;br /&gt;
&lt;br /&gt;
[[ ToDo ]]&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=E-Ecology_Documentation_and_Guidance&amp;diff=1416</id>
		<title>E-Ecology Documentation and Guidance</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=E-Ecology_Documentation_and_Guidance&amp;diff=1416"/>
				<updated>2021-01-21T09:52:59Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* UvA-BiTS Services */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Last updated: February 2018, Stacy Shinneman&lt;br /&gt;
&lt;br /&gt;
The e-Ecology Virtual Laboratories represent a collaborative effort between the University of Amsterdam Institute for Biodiversity and Ecosystem Dynamics and SURFsara Computing to manage bird tracking data and develop tools for data exploration, analysis and visualization. This wiki is designed to facilitate access to the data and tools within the Virtual Laboratories and to provide a forum for collaboration. &lt;br /&gt;
&lt;br /&gt;
The e-Ecology database contains many different datasets, each of which is contained within its own schema. Prior to 2018, the e-Ecology database was also referred to as the FlySafe database.&lt;br /&gt;
&lt;br /&gt;
== UvA-BiTS Data == &lt;br /&gt;
&lt;br /&gt;
Bird data collected with the UvA-BiTS Bird Tracking System is managed within the gps schema of the e-Ecology database. &lt;br /&gt;
&lt;br /&gt;
Note: We are continually working on improving UvA-BiTS services, including data processing and Virtual Lab functionality. In some cases, this has enabled us to extract more information from old GPS log files which is then incorporated into the database.  These changes may result in slight differences when you reprocess historic data. &lt;br /&gt;
&lt;br /&gt;
::* [[ DB_Views_2015 | e-Ecology UvA-BiTS database for general use (views) ]]&lt;br /&gt;
::* [[ DB_Tables_2015 | e-Ecology UvA-BiTS tables behind the views (not accessible for normal use) ]]&lt;br /&gt;
::* [[How to access the e-Ecology database]]&lt;br /&gt;
::* [[Useful Queries]]&lt;br /&gt;
&lt;br /&gt;
==UvA-BiTS Services==&lt;br /&gt;
&lt;br /&gt;
* Visualization Tools&lt;br /&gt;
&lt;br /&gt;
:: [[KMZ Generator|UvA-BiTS KMZ Generator]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::Produces kmz files of UvA-BiTS bird tracking data to be viewed in Google Earth. &lt;br /&gt;
:: [[Tracker Calendar]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::Calendar overview with daily statistics of GPS-tracker&lt;br /&gt;
:: [[Flight Generator]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::This tool produces GPX files from UvA-BiTS tracking data for dynamic [http://www.doarama.com Doarama] visualizations.&lt;br /&gt;
:: [[BirdView]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::'''''This service is currently not available.''''' Access meterological and radar data and overlay with GPS bird tracking data.&lt;br /&gt;
:: [[BirdSim]]:  &amp;lt;br/ &amp;gt;&lt;br /&gt;
:::'''''This service is currently not available.''''' More dynamic version of BirdView that allows the user to scroll through weather data in time and space.&lt;br /&gt;
&lt;br /&gt;
* [[Dashboard]]:   These web pages allow UvA-BiTS users to get an overview of the raw data files of GPS bird tracking devices they have access to and to access the dashboard for administering projects. &lt;br /&gt;
&lt;br /&gt;
* '''''This service is currently not available.''''' [[ Annotation tables ]] for uploading GPS annotation data into your own schema and sharing your tables with other users.&lt;br /&gt;
* [[ SMS tables ]] for storage of SMS messages send by trackers.&lt;br /&gt;
* [[ CartoDB ]] usage and limitation of CartoDB server&lt;br /&gt;
&lt;br /&gt;
== Changes to the UvA-BiTS data model in 2014 ==&lt;br /&gt;
'''Important'''&lt;br /&gt;
In the summer of 2014 we have '''re-arranged the administrative''' part of UvA-BiTS (and e-Ecology) in the database. End users may have to adapt their programs the following way:&lt;br /&gt;
:* The '''uva_*_limited''' views that used to exist in the gps schema are gone. Most of them should have been replaced with an equivalent '''ee_*_limited counterpart'''.&lt;br /&gt;
:* The new ee_*_limited views show a superset of the same information as before, but enhanced with new project information.&lt;br /&gt;
:* Some '''column names''' in the ee_*_limited views may differ from the previous views.&lt;br /&gt;
:* There are new limited views: &lt;br /&gt;
:** gps.ee_'''project'''_limited: shows your projects' information&lt;br /&gt;
:** gps.ee_'''shared'''_*_limited: set of data you are able to see related to trackers that a project is sharing with a project you belong to&lt;br /&gt;
:* Special attention: gps.uva_device_limited is now replaced by '''gps.ee_tracker_limited'''. For each tracker, you now see which project provides you access to that tracker.&lt;br /&gt;
:* Also, '''gps.uva_tracking_limited''' is gone. Instead of that we have gps.ee_tracker_speed_limited, which adds speed columns to the original data. This amounts to a merger of gps.ee_tracking_limited, gps.ee_tracking_speed_3d_limited and gps.ee_tracking_speed_limited.&lt;br /&gt;
:* [[ UvAGPS|UvA-BiTS Data Model]] - OLD&lt;br /&gt;
&lt;br /&gt;
==Other e-Ecology Datasets==&lt;br /&gt;
&lt;br /&gt;
'''ENVIRONMENTAL DATA'''&lt;br /&gt;
&lt;br /&gt;
::* [[ Elevation|Elevation Data ]]&lt;br /&gt;
::* [[ ECMWF|Weather Forecast Data (ECMWF)]] Restricted to FlySafe users.&lt;br /&gt;
&lt;br /&gt;
'''FLYSAFE'''&lt;br /&gt;
&lt;br /&gt;
:Data related to European Space Agency FlySafe project. Financed by the Royal Netherlands Air Force. &lt;br /&gt;
&lt;br /&gt;
::* [[Argos Data Model|Argos GPS Data Model]]&lt;br /&gt;
::* [[ RADAR|Radar Data Model]]&lt;br /&gt;
::* [[ Wind profile|Wind Profile Data Model]]&lt;br /&gt;
::* [[How to access the e-Ecology database]]&lt;br /&gt;
&lt;br /&gt;
==Other e-Ecology Services==&lt;br /&gt;
[[e-Ecology GPS Bird Track Generator]]: Produce kmz files of ARGOS/GPS bird tracking data from the FlySafe project to be viewed in Google Earth. &lt;br /&gt;
&lt;br /&gt;
[[ Administration]]: Information about user rights and data processing tasks.&lt;br /&gt;
&lt;br /&gt;
[[ Bookkeeping]]: Description of tables related to e-Ecology data processing and archiving.&lt;br /&gt;
&lt;br /&gt;
[[ ToDo ]]&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1410</id>
		<title>How to access the e-Ecology database</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1410"/>
				<updated>2018-04-10T14:41:51Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* Setting up an ODBC connection (Windows) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=General Information=&lt;br /&gt;
&lt;br /&gt;
The UvA-BiTS database is a spatial postgreSQL database([http://www.postgresql.org/]). In order to access the database you must first have a user name and password provided to you by SURF.&lt;br /&gt;
&lt;br /&gt;
=How to access the database=&lt;br /&gt;
'''Via the UvA-BiTS Virtual Lab''' : http://www.uva-bits.nl/virtual-lab/ &lt;br /&gt;
The database can be accessed from any computer with an internet connection by clicking on the database icon on the Virtual Lab webpage. Access to the postgreSQL database is provided via a phpPgAdmin web service. Login to the database. To see the tables and views available in the database, expand the 'eEcology' folder by clicking directly on it or on the + next to it, then click the + next to the 'eecology' folder, next expand 'Schemas' and finally 'gps'. Now you should be able to expand the database tables and views. Most users will only have access to the data included in tables or views that end with “_limited”; these are subsets of the entire database and include only the data to which you officially have access.&lt;br /&gt;
&lt;br /&gt;
'''Via PgAdmin client software:''' &lt;br /&gt;
PgAdmin must installed on your computer: http://www.pgadmin.org/download/&lt;br /&gt;
Once you have installed the pgAdmin software on your computer, go to File - Add Server. In the 'New Server Registration' window, enter the following:&lt;br /&gt;
&lt;br /&gt;
  Properties tab: &lt;br /&gt;
     Name: e-Ecology&lt;br /&gt;
     Host: pubserv.e-ecology.nl&lt;br /&gt;
     Port: 5432&lt;br /&gt;
     Maintenance DB: eecology&lt;br /&gt;
     Enter Username and Password as provided to you by SURF.&lt;br /&gt;
     Leave all other fields blank. Generally it is not recommended to store the password, especially on shared computer.&lt;br /&gt;
  SSL tab: SSL = require&lt;br /&gt;
  Advanced tab: Check &amp;quot;Connect now&amp;quot; and &amp;quot;Restore env?&amp;quot; boxes.&lt;br /&gt;
&lt;br /&gt;
'''Connecting via other programs:''' &lt;br /&gt;
You can also connect to the database via other programs (Access, R, etc.) by setting up an ODBC driver for postgreSQL and establishing a &amp;quot;User Data Source&amp;quot;. (See &amp;quot;Setting Up an ODBC Connection&amp;quot; below.)&lt;br /&gt;
&lt;br /&gt;
'''Now that I have connected, what do all these tables and views really mean?''' See the UvA-BiTS Data Model page of this wiki.&lt;br /&gt;
&lt;br /&gt;
'''UvA students and employees working on the UvA network:'''&lt;br /&gt;
The database can be directly accessed from computers connected to the university network through PgAdmin software. The computer you are working on must first have the pgAdmin software installed. You can also access the database from other programs (Access, R, etc.) by installing an ODBC driver for postgreSQL and establishing a &amp;quot;User Data Source&amp;quot;. (See &amp;quot;Setting Up an ODBC Connection&amp;quot; below.) In pgAdmin go to File - Add Server. In the 'New Server Registration' window, enter the following:&lt;br /&gt;
&lt;br /&gt;
  Properties tab: &lt;br /&gt;
     Name: e-Ecology&lt;br /&gt;
     Host: pubserv.e-ecology.nl&lt;br /&gt;
     Port: 5432&lt;br /&gt;
     Maintenance DB: eecology&lt;br /&gt;
     Enter Username and Password as provided to you by SURF.&lt;br /&gt;
     Leave all other fields blank. Do not store your user name and password on shared computers.&lt;br /&gt;
  SSL tab: SSL = require&lt;br /&gt;
  Advanced tab: Check &amp;quot;Connect now&amp;quot; and &amp;quot;Restore env?&amp;quot; boxes.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Windows) =&lt;br /&gt;
&lt;br /&gt;
ODBC (Open Database connectivity) is a standard method of sharing data between databases and other programs. ODBC drivers use SQL to gain access to data from sources outside the program.  Therefore, in order to connect between your database and other programs you must set up an ODBC connection.&lt;br /&gt;
  &lt;br /&gt;
Step 1: Download and install the most recent ODBC driver for postgreSQL.&lt;br /&gt;
[http://www.postgresql.org/ftp/odbc/versions/msi/]&lt;br /&gt;
&lt;br /&gt;
Step 2: Set up an ODBC connection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do the following (variations may exist between windows operating systems):&lt;br /&gt;
# Go to '''start | Control panel | Administrative tools | Data sources (ODBC)'''. If you are having trouble finding it, type &amp;quot;ODBC&amp;quot; into the Search box at the top of the Control Panel window.&lt;br /&gt;
# Go to '''User DSN''' (first tab in Data sources).&lt;br /&gt;
# Click '''ADD'''.&lt;br /&gt;
# In the window '''Create''' '''New Data Source''' select '''PostgreSQL ANSI''' and click '''FINISH'''.&lt;br /&gt;
# The '''ODBC Driver Setup''' window opens. '''Data source name''': give your data source a name (e.g. GPS).  Keep it simple and easily identifiable since this is the name you will use to identify your database from other applications; this will be the '''ODBC driver name'''.&lt;br /&gt;
# In the same window, fill in the following information: '''database''' ''eecology'', '''Server'''  ''pubserv.e-ecology.nl'', '''User Name''' ''your user name'', '''SSL Mode''' ''require'', '''Port''' ''5432'', '''Password''' ''your password''. Click '''TEST''' to test your connection. When the window is completed click '''SAVE'''.&lt;br /&gt;
# Back in the '''User DSN''' window you should now see the ODBC driver you just named. Click '''OK'''.&lt;br /&gt;
After completing these steps many other programs will now recognize your database and be able to communicate with it. &lt;br /&gt;
&lt;br /&gt;
If you are having problems setting up the connection, go back to Step 1 above and make sure that you have installed the most recent version of the PostgreSQL ODBC driver.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (MacOSX 10.8.5 ) =&lt;br /&gt;
&lt;br /&gt;
The PostgreSQL ODBC driver provided here is a 64-bit driver. It will probably only work if the other components involved in accessing the UvA-BiTS database are also 64-bit. This includes R, iODBC, and libpq. It has been tested on MacOSX 10.8.5 (Mountain Lion) with 64-bit R 3.0.2 (Frisbee Sailing). If you have an older version of MacOSX, and/or a 32-bit version of R installed, this driver may or may not work for you. There's no harm in trying. If it does not work, and you have a 32-bit version of R installed, try using the 64-bit version instead (this will allow R to use more memory as well, possibly speeding up your calculations). &lt;br /&gt;
&lt;br /&gt;
1. Download the ODBC Administrator Tool for Mac OS X v1.0 using the following URL http://support.apple.com/kb/DL895&lt;br /&gt;
&lt;br /&gt;
2. Download the zip file found here [http://horizon.science.uva.nl/public/pgodbc_macosx/]. Unpack the .zip file into your home directory by double clicking it. Your home directory will usually have your name and is located in Macintosh HD &amp;gt; Users next to the little symbol of a house. This will create a folder called &amp;quot;pgodbc&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
3. Open the iODBC Administator.app from within Applications.&lt;br /&gt;
&lt;br /&gt;
4. Select the tab &amp;quot;ODBC Drivers&amp;quot; and click on &amp;quot;Add a driver&amp;quot;. A new window will open.&lt;br /&gt;
&lt;br /&gt;
5. The first field is &amp;quot;Description of the driver&amp;quot;. Type in &amp;quot;PostgreSQL&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. Click on &amp;quot;Browse&amp;quot; next to the second field to locate and select the driver file you unpacked from the .zip file you downloaded.&lt;br /&gt;
&lt;br /&gt;
7. Go to folder &amp;quot;pgodbc&amp;quot; in your home directory, and select the driver file &amp;quot;psqlodbcw.so&amp;quot;&lt;br /&gt;
&lt;br /&gt;
8. Make sure the driver is defined as &amp;quot;System&amp;quot;, i.e., that the &amp;quot;System&amp;quot; option is selected and not the &amp;quot;User&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
9. Click on &amp;quot;Add&amp;quot; at the bottom of this window, and &amp;quot;OK&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should now be able to access the database through R using the R script provided.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Linux) =&lt;br /&gt;
&lt;br /&gt;
1. Install unixODBC and its -dev file&lt;br /&gt;
$ sudo apt-get install unixODBC unixODBC-dev&lt;br /&gt;
&lt;br /&gt;
2. Install the postgresql package&lt;br /&gt;
&lt;br /&gt;
  $ sudo apt-get install odbc-postgresql&lt;br /&gt;
&lt;br /&gt;
3. Configure the PostgreSQL ODBC driver in the /etc/odbcinst.ini file&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbcinst.ini&lt;br /&gt;
&lt;br /&gt;
4. On Ubuntu, the /etc/odbcinst.ini file will be blank, so you’ll need to add the data to that configuration file. Add the following to the odbcinst.ini file:&lt;br /&gt;
&lt;br /&gt;
  [PostgreSQL]&lt;br /&gt;
  Description = ODBC for PostgreSQL&lt;br /&gt;
  Driver = /usr/lib/odbc/psqlodbca.so&lt;br /&gt;
  Setup = /usr/lib/odbc/libodbcpsqlS.so&lt;br /&gt;
  FileUsage = 1&lt;br /&gt;
'''Be careful,''' on x64, the path for the driver and setup should look&lt;br /&gt;
something like that /usr/lib/x86_64-linux-gnu/odbc/ (use the command $&lt;br /&gt;
mlocate psql to find the appropriate path...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Verify that the system is able to see the driver by running the&lt;br /&gt;
following command. It should return the label name [PostgreSQL] if all is&lt;br /&gt;
well:&lt;br /&gt;
&lt;br /&gt;
  $ odbcinst -q -d&lt;br /&gt;
&lt;br /&gt;
6. Next, configure the /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
Here is what the text file should look like&lt;br /&gt;
&lt;br /&gt;
  [GPStracker]&lt;br /&gt;
  Driver       = PostgreSQL&lt;br /&gt;
  Description  = PostgreSQL connection to the UvA BiTS DataBase&lt;br /&gt;
  Servername   = pubserv.e-ecology.nl&lt;br /&gt;
  Port         = 5432&lt;br /&gt;
  UserName     = user_name&lt;br /&gt;
  Password     = yourpassword&lt;br /&gt;
  Database     = eecology&lt;br /&gt;
  SSLMode      = prefer&lt;br /&gt;
  OPTION       = 3&lt;br /&gt;
  SOCKET       =&lt;br /&gt;
&lt;br /&gt;
You should now be able to connect to the database, for example via RODBC.&lt;br /&gt;
&lt;br /&gt;
= Connecting other programs to the UvA-BiTS database (e.g. R, Access, ArcGIS) =&lt;br /&gt;
&lt;br /&gt;
This section provides information on how to set up an Open Database Connectivity (ODBC) which will enable many software packages to extract data directly from the database.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Here you provide the name of the database file or the user DSN name for a given ODBC data source (as described above).&lt;br /&gt;
 &lt;br /&gt;
 db.file &amp;lt;-&amp;quot;GPS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Load the RODBC library.  Visit the CRAN repository &amp;lt;http://cran.r-project.org/web/packages/&amp;gt; for a list of contributed packages and instructions for installation. Packages may be installed using the GUI interface or using ?install.packages.&lt;br /&gt;
&lt;br /&gt;
 library(RODBC)&lt;br /&gt;
&lt;br /&gt;
Establish a connection to the database, the following code is used if reading from an ODBC data source.&lt;br /&gt;
&lt;br /&gt;
 db &amp;lt;- odbcConnect(db.file) &lt;br /&gt;
&lt;br /&gt;
View the table names in the database.&lt;br /&gt;
&lt;br /&gt;
 sqlTables(db)&lt;br /&gt;
&lt;br /&gt;
View the field (column) names of a specific table.&lt;br /&gt;
&lt;br /&gt;
 sqlColumns(db, table.name)&lt;br /&gt;
&lt;br /&gt;
Query the database, returning data from table gps.uva_tracking_speed_limited, for device_info_serial 1 as dataframe &amp;quot;test&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R (mac) ==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Connect to the database in R with the package RODBC, using your username and password.&lt;br /&gt;
Install the RODBC package and any dependencies&lt;br /&gt;
 install.packages(&amp;quot;RODBC&amp;quot;, dep=T)&lt;br /&gt;
 require(RODBC)&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;user&amp;quot; and &amp;quot;password&amp;quot; with your own username and password provided by SURF:&lt;br /&gt;
 my_username &amp;lt;- &amp;quot;user&amp;quot;&lt;br /&gt;
 my_password &amp;lt;- &amp;quot;password&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Define the connection and connect from within R:&lt;br /&gt;
 l.connstring &amp;lt;- 'DRIVER=PostgreSQL;'&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SERVER=pubserv.e-ecology.nl;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'PORT=5432;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SSLMODE=require;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'DATABASE=eecology;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;USERNAME=&amp;quot;, my_username, &amp;quot;;&amp;quot;, sep=''), sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;PASSWORD=&amp;quot;, my_password, &amp;quot;;&amp;quot;, sep='') , sep = '') &lt;br /&gt;
&lt;br /&gt;
 GPS &amp;lt;- odbcDriverConnect(l.connstring, case = &amp;quot;tolower&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
From here you can write SQL queries and retrieve the data through R. Here is an example.&lt;br /&gt;
&lt;br /&gt;
To extract GPS data, remember to replace &amp;lt;insert bird id&amp;gt; with the device serial number of one of your tracked birds: &lt;br /&gt;
 gps_test &amp;lt;- sqlQuery(GPS, query = &amp;quot;SELECT * &lt;br /&gt;
 FROM gps.ee_tracking_speed_limited s  &lt;br /&gt;
 WHERE s.device_info_serial = &amp;lt;insert bird ID&amp;gt;&amp;quot;, as.is=c(2))&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in Access==&lt;br /&gt;
After completing the steps for setting up an ODBC connection, you can connect to the database via Access. You have two options. One is to import the data; once this is done your database is not automatically updated but does not require a link to the database.&lt;br /&gt;
&lt;br /&gt;
The second option (described below) is to create a dynamic link to the database. (You must be connected to the network.) In this case you are always viewing updated data that is in the actual SURF database. The first set of instructions is for Access 2007-2010, while the second is for the older version of Access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2007-2010'''.&lt;br /&gt;
# Go to '''External data | ODBC Database'''.&lt;br /&gt;
# Select '''Link to the data source by creating a linked table'''. Click OK.&lt;br /&gt;
# In '''Select Data Source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2003'''.&lt;br /&gt;
# Go to '''File | Get external data | Link tables'''.&lt;br /&gt;
# In '''Files of type''', select '''ODBC databases'''.&lt;br /&gt;
# In '''Select data source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You now have access to your selected tables in the database. Have fun.&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1409</id>
		<title>How to access the e-Ecology database</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1409"/>
				<updated>2018-04-10T14:41:31Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* Setting up an ODBC connection (Windows) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=General Information=&lt;br /&gt;
&lt;br /&gt;
The UvA-BiTS database is a spatial postgreSQL database([http://www.postgresql.org/]). In order to access the database you must first have a user name and password provided to you by SURF.&lt;br /&gt;
&lt;br /&gt;
=How to access the database=&lt;br /&gt;
'''Via the UvA-BiTS Virtual Lab''' : http://www.uva-bits.nl/virtual-lab/ &lt;br /&gt;
The database can be accessed from any computer with an internet connection by clicking on the database icon on the Virtual Lab webpage. Access to the postgreSQL database is provided via a phpPgAdmin web service. Login to the database. To see the tables and views available in the database, expand the 'eEcology' folder by clicking directly on it or on the + next to it, then click the + next to the 'eecology' folder, next expand 'Schemas' and finally 'gps'. Now you should be able to expand the database tables and views. Most users will only have access to the data included in tables or views that end with “_limited”; these are subsets of the entire database and include only the data to which you officially have access.&lt;br /&gt;
&lt;br /&gt;
'''Via PgAdmin client software:''' &lt;br /&gt;
PgAdmin must installed on your computer: http://www.pgadmin.org/download/&lt;br /&gt;
Once you have installed the pgAdmin software on your computer, go to File - Add Server. In the 'New Server Registration' window, enter the following:&lt;br /&gt;
&lt;br /&gt;
  Properties tab: &lt;br /&gt;
     Name: e-Ecology&lt;br /&gt;
     Host: pubserv.e-ecology.nl&lt;br /&gt;
     Port: 5432&lt;br /&gt;
     Maintenance DB: eecology&lt;br /&gt;
     Enter Username and Password as provided to you by SURF.&lt;br /&gt;
     Leave all other fields blank. Generally it is not recommended to store the password, especially on shared computer.&lt;br /&gt;
  SSL tab: SSL = require&lt;br /&gt;
  Advanced tab: Check &amp;quot;Connect now&amp;quot; and &amp;quot;Restore env?&amp;quot; boxes.&lt;br /&gt;
&lt;br /&gt;
'''Connecting via other programs:''' &lt;br /&gt;
You can also connect to the database via other programs (Access, R, etc.) by setting up an ODBC driver for postgreSQL and establishing a &amp;quot;User Data Source&amp;quot;. (See &amp;quot;Setting Up an ODBC Connection&amp;quot; below.)&lt;br /&gt;
&lt;br /&gt;
'''Now that I have connected, what do all these tables and views really mean?''' See the UvA-BiTS Data Model page of this wiki.&lt;br /&gt;
&lt;br /&gt;
'''UvA students and employees working on the UvA network:'''&lt;br /&gt;
The database can be directly accessed from computers connected to the university network through PgAdmin software. The computer you are working on must first have the pgAdmin software installed. You can also access the database from other programs (Access, R, etc.) by installing an ODBC driver for postgreSQL and establishing a &amp;quot;User Data Source&amp;quot;. (See &amp;quot;Setting Up an ODBC Connection&amp;quot; below.) In pgAdmin go to File - Add Server. In the 'New Server Registration' window, enter the following:&lt;br /&gt;
&lt;br /&gt;
  Properties tab: &lt;br /&gt;
     Name: e-Ecology&lt;br /&gt;
     Host: pubserv.e-ecology.nl&lt;br /&gt;
     Port: 5432&lt;br /&gt;
     Maintenance DB: eecology&lt;br /&gt;
     Enter Username and Password as provided to you by SURF.&lt;br /&gt;
     Leave all other fields blank. Do not store your user name and password on shared computers.&lt;br /&gt;
  SSL tab: SSL = require&lt;br /&gt;
  Advanced tab: Check &amp;quot;Connect now&amp;quot; and &amp;quot;Restore env?&amp;quot; boxes.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Windows) =&lt;br /&gt;
&lt;br /&gt;
ODBC (Open Database connectivity) is a standard method of sharing data between databases and other programs. ODBC drivers use SQL to gain access to data from sources outside the program.  Therefore, in order to connect between your database and other programs you must set up an ODBC connection.&lt;br /&gt;
  &lt;br /&gt;
Step 1: Download and install the most recent ODBC driver for postgreSQL.&lt;br /&gt;
[http://www.postgresql.org/ftp/odbc/versions/msi/]&lt;br /&gt;
&lt;br /&gt;
Step 2: Set up an ODBC connection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do the following (variations may exist between windows operating systems):&lt;br /&gt;
# Go to '''start | Control panel | Administrative tools | Data sources (ODBC)'''. If you are having trouble finding it, type &amp;quot;ODBC&amp;quot; into the Search box at the top of the Control Panel window.&lt;br /&gt;
# Go to '''User DSN''' (first tab in Data sources).&lt;br /&gt;
# Click '''ADD'''.&lt;br /&gt;
# In the window '''Create''' '''New Data Source''' select '''PostgreSQL ANSI''' and click '''FINISH'''.&lt;br /&gt;
# The '''ODBC Driver Setup''' window opens. '''Data source name''': give your data source a name (e.g. GPS).  Keep it simple and easily identifiable since this is the name you will use to identify your database from other applications; this will be the '''ODBC driver name'''.&lt;br /&gt;
# In the same window, fill in the following information: '''database''' ''eecology'', '''Server'''  ''pubserv.e-ecology.nl'', '''User Name''' ''your user name'', '''SSL Mode''' ''require'', '''Port''' ''5432'', '''Password''' ''your password''. Click '''TEST''' to test your connection. When the window is completed click '''SAVE'''.&lt;br /&gt;
# Back in the '''User DSN''' window you should now see the ODBC driver you just named. Click '''OK'''.&lt;br /&gt;
After completing these steps many other programs will now recognize your database and be able to communicate with it. &lt;br /&gt;
If you are having problems setting up the connection, go back to Step 1 above and make sure that you have installed the most recent version of the PostgreSQL ODBC driver.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (MacOSX 10.8.5 ) =&lt;br /&gt;
&lt;br /&gt;
The PostgreSQL ODBC driver provided here is a 64-bit driver. It will probably only work if the other components involved in accessing the UvA-BiTS database are also 64-bit. This includes R, iODBC, and libpq. It has been tested on MacOSX 10.8.5 (Mountain Lion) with 64-bit R 3.0.2 (Frisbee Sailing). If you have an older version of MacOSX, and/or a 32-bit version of R installed, this driver may or may not work for you. There's no harm in trying. If it does not work, and you have a 32-bit version of R installed, try using the 64-bit version instead (this will allow R to use more memory as well, possibly speeding up your calculations). &lt;br /&gt;
&lt;br /&gt;
1. Download the ODBC Administrator Tool for Mac OS X v1.0 using the following URL http://support.apple.com/kb/DL895&lt;br /&gt;
&lt;br /&gt;
2. Download the zip file found here [http://horizon.science.uva.nl/public/pgodbc_macosx/]. Unpack the .zip file into your home directory by double clicking it. Your home directory will usually have your name and is located in Macintosh HD &amp;gt; Users next to the little symbol of a house. This will create a folder called &amp;quot;pgodbc&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
3. Open the iODBC Administator.app from within Applications.&lt;br /&gt;
&lt;br /&gt;
4. Select the tab &amp;quot;ODBC Drivers&amp;quot; and click on &amp;quot;Add a driver&amp;quot;. A new window will open.&lt;br /&gt;
&lt;br /&gt;
5. The first field is &amp;quot;Description of the driver&amp;quot;. Type in &amp;quot;PostgreSQL&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. Click on &amp;quot;Browse&amp;quot; next to the second field to locate and select the driver file you unpacked from the .zip file you downloaded.&lt;br /&gt;
&lt;br /&gt;
7. Go to folder &amp;quot;pgodbc&amp;quot; in your home directory, and select the driver file &amp;quot;psqlodbcw.so&amp;quot;&lt;br /&gt;
&lt;br /&gt;
8. Make sure the driver is defined as &amp;quot;System&amp;quot;, i.e., that the &amp;quot;System&amp;quot; option is selected and not the &amp;quot;User&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
9. Click on &amp;quot;Add&amp;quot; at the bottom of this window, and &amp;quot;OK&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should now be able to access the database through R using the R script provided.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Linux) =&lt;br /&gt;
&lt;br /&gt;
1. Install unixODBC and its -dev file&lt;br /&gt;
$ sudo apt-get install unixODBC unixODBC-dev&lt;br /&gt;
&lt;br /&gt;
2. Install the postgresql package&lt;br /&gt;
&lt;br /&gt;
  $ sudo apt-get install odbc-postgresql&lt;br /&gt;
&lt;br /&gt;
3. Configure the PostgreSQL ODBC driver in the /etc/odbcinst.ini file&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbcinst.ini&lt;br /&gt;
&lt;br /&gt;
4. On Ubuntu, the /etc/odbcinst.ini file will be blank, so you’ll need to add the data to that configuration file. Add the following to the odbcinst.ini file:&lt;br /&gt;
&lt;br /&gt;
  [PostgreSQL]&lt;br /&gt;
  Description = ODBC for PostgreSQL&lt;br /&gt;
  Driver = /usr/lib/odbc/psqlodbca.so&lt;br /&gt;
  Setup = /usr/lib/odbc/libodbcpsqlS.so&lt;br /&gt;
  FileUsage = 1&lt;br /&gt;
'''Be careful,''' on x64, the path for the driver and setup should look&lt;br /&gt;
something like that /usr/lib/x86_64-linux-gnu/odbc/ (use the command $&lt;br /&gt;
mlocate psql to find the appropriate path...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Verify that the system is able to see the driver by running the&lt;br /&gt;
following command. It should return the label name [PostgreSQL] if all is&lt;br /&gt;
well:&lt;br /&gt;
&lt;br /&gt;
  $ odbcinst -q -d&lt;br /&gt;
&lt;br /&gt;
6. Next, configure the /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
Here is what the text file should look like&lt;br /&gt;
&lt;br /&gt;
  [GPStracker]&lt;br /&gt;
  Driver       = PostgreSQL&lt;br /&gt;
  Description  = PostgreSQL connection to the UvA BiTS DataBase&lt;br /&gt;
  Servername   = pubserv.e-ecology.nl&lt;br /&gt;
  Port         = 5432&lt;br /&gt;
  UserName     = user_name&lt;br /&gt;
  Password     = yourpassword&lt;br /&gt;
  Database     = eecology&lt;br /&gt;
  SSLMode      = prefer&lt;br /&gt;
  OPTION       = 3&lt;br /&gt;
  SOCKET       =&lt;br /&gt;
&lt;br /&gt;
You should now be able to connect to the database, for example via RODBC.&lt;br /&gt;
&lt;br /&gt;
= Connecting other programs to the UvA-BiTS database (e.g. R, Access, ArcGIS) =&lt;br /&gt;
&lt;br /&gt;
This section provides information on how to set up an Open Database Connectivity (ODBC) which will enable many software packages to extract data directly from the database.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Here you provide the name of the database file or the user DSN name for a given ODBC data source (as described above).&lt;br /&gt;
 &lt;br /&gt;
 db.file &amp;lt;-&amp;quot;GPS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Load the RODBC library.  Visit the CRAN repository &amp;lt;http://cran.r-project.org/web/packages/&amp;gt; for a list of contributed packages and instructions for installation. Packages may be installed using the GUI interface or using ?install.packages.&lt;br /&gt;
&lt;br /&gt;
 library(RODBC)&lt;br /&gt;
&lt;br /&gt;
Establish a connection to the database, the following code is used if reading from an ODBC data source.&lt;br /&gt;
&lt;br /&gt;
 db &amp;lt;- odbcConnect(db.file) &lt;br /&gt;
&lt;br /&gt;
View the table names in the database.&lt;br /&gt;
&lt;br /&gt;
 sqlTables(db)&lt;br /&gt;
&lt;br /&gt;
View the field (column) names of a specific table.&lt;br /&gt;
&lt;br /&gt;
 sqlColumns(db, table.name)&lt;br /&gt;
&lt;br /&gt;
Query the database, returning data from table gps.uva_tracking_speed_limited, for device_info_serial 1 as dataframe &amp;quot;test&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R (mac) ==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Connect to the database in R with the package RODBC, using your username and password.&lt;br /&gt;
Install the RODBC package and any dependencies&lt;br /&gt;
 install.packages(&amp;quot;RODBC&amp;quot;, dep=T)&lt;br /&gt;
 require(RODBC)&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;user&amp;quot; and &amp;quot;password&amp;quot; with your own username and password provided by SURF:&lt;br /&gt;
 my_username &amp;lt;- &amp;quot;user&amp;quot;&lt;br /&gt;
 my_password &amp;lt;- &amp;quot;password&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Define the connection and connect from within R:&lt;br /&gt;
 l.connstring &amp;lt;- 'DRIVER=PostgreSQL;'&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SERVER=pubserv.e-ecology.nl;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'PORT=5432;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SSLMODE=require;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'DATABASE=eecology;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;USERNAME=&amp;quot;, my_username, &amp;quot;;&amp;quot;, sep=''), sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;PASSWORD=&amp;quot;, my_password, &amp;quot;;&amp;quot;, sep='') , sep = '') &lt;br /&gt;
&lt;br /&gt;
 GPS &amp;lt;- odbcDriverConnect(l.connstring, case = &amp;quot;tolower&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
From here you can write SQL queries and retrieve the data through R. Here is an example.&lt;br /&gt;
&lt;br /&gt;
To extract GPS data, remember to replace &amp;lt;insert bird id&amp;gt; with the device serial number of one of your tracked birds: &lt;br /&gt;
 gps_test &amp;lt;- sqlQuery(GPS, query = &amp;quot;SELECT * &lt;br /&gt;
 FROM gps.ee_tracking_speed_limited s  &lt;br /&gt;
 WHERE s.device_info_serial = &amp;lt;insert bird ID&amp;gt;&amp;quot;, as.is=c(2))&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in Access==&lt;br /&gt;
After completing the steps for setting up an ODBC connection, you can connect to the database via Access. You have two options. One is to import the data; once this is done your database is not automatically updated but does not require a link to the database.&lt;br /&gt;
&lt;br /&gt;
The second option (described below) is to create a dynamic link to the database. (You must be connected to the network.) In this case you are always viewing updated data that is in the actual SURF database. The first set of instructions is for Access 2007-2010, while the second is for the older version of Access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2007-2010'''.&lt;br /&gt;
# Go to '''External data | ODBC Database'''.&lt;br /&gt;
# Select '''Link to the data source by creating a linked table'''. Click OK.&lt;br /&gt;
# In '''Select Data Source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2003'''.&lt;br /&gt;
# Go to '''File | Get external data | Link tables'''.&lt;br /&gt;
# In '''Files of type''', select '''ODBC databases'''.&lt;br /&gt;
# In '''Select data source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You now have access to your selected tables in the database. Have fun.&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1408</id>
		<title>How to access the e-Ecology database</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1408"/>
				<updated>2018-04-10T14:41:09Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* Setting up an ODBC connection (Windows) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=General Information=&lt;br /&gt;
&lt;br /&gt;
The UvA-BiTS database is a spatial postgreSQL database([http://www.postgresql.org/]). In order to access the database you must first have a user name and password provided to you by SURF.&lt;br /&gt;
&lt;br /&gt;
=How to access the database=&lt;br /&gt;
'''Via the UvA-BiTS Virtual Lab''' : http://www.uva-bits.nl/virtual-lab/ &lt;br /&gt;
The database can be accessed from any computer with an internet connection by clicking on the database icon on the Virtual Lab webpage. Access to the postgreSQL database is provided via a phpPgAdmin web service. Login to the database. To see the tables and views available in the database, expand the 'eEcology' folder by clicking directly on it or on the + next to it, then click the + next to the 'eecology' folder, next expand 'Schemas' and finally 'gps'. Now you should be able to expand the database tables and views. Most users will only have access to the data included in tables or views that end with “_limited”; these are subsets of the entire database and include only the data to which you officially have access.&lt;br /&gt;
&lt;br /&gt;
'''Via PgAdmin client software:''' &lt;br /&gt;
PgAdmin must installed on your computer: http://www.pgadmin.org/download/&lt;br /&gt;
Once you have installed the pgAdmin software on your computer, go to File - Add Server. In the 'New Server Registration' window, enter the following:&lt;br /&gt;
&lt;br /&gt;
  Properties tab: &lt;br /&gt;
     Name: e-Ecology&lt;br /&gt;
     Host: pubserv.e-ecology.nl&lt;br /&gt;
     Port: 5432&lt;br /&gt;
     Maintenance DB: eecology&lt;br /&gt;
     Enter Username and Password as provided to you by SURF.&lt;br /&gt;
     Leave all other fields blank. Generally it is not recommended to store the password, especially on shared computer.&lt;br /&gt;
  SSL tab: SSL = require&lt;br /&gt;
  Advanced tab: Check &amp;quot;Connect now&amp;quot; and &amp;quot;Restore env?&amp;quot; boxes.&lt;br /&gt;
&lt;br /&gt;
'''Connecting via other programs:''' &lt;br /&gt;
You can also connect to the database via other programs (Access, R, etc.) by setting up an ODBC driver for postgreSQL and establishing a &amp;quot;User Data Source&amp;quot;. (See &amp;quot;Setting Up an ODBC Connection&amp;quot; below.)&lt;br /&gt;
&lt;br /&gt;
'''Now that I have connected, what do all these tables and views really mean?''' See the UvA-BiTS Data Model page of this wiki.&lt;br /&gt;
&lt;br /&gt;
'''UvA students and employees working on the UvA network:'''&lt;br /&gt;
The database can be directly accessed from computers connected to the university network through PgAdmin software. The computer you are working on must first have the pgAdmin software installed. You can also access the database from other programs (Access, R, etc.) by installing an ODBC driver for postgreSQL and establishing a &amp;quot;User Data Source&amp;quot;. (See &amp;quot;Setting Up an ODBC Connection&amp;quot; below.) In pgAdmin go to File - Add Server. In the 'New Server Registration' window, enter the following:&lt;br /&gt;
&lt;br /&gt;
  Properties tab: &lt;br /&gt;
     Name: e-Ecology&lt;br /&gt;
     Host: pubserv.e-ecology.nl&lt;br /&gt;
     Port: 5432&lt;br /&gt;
     Maintenance DB: eecology&lt;br /&gt;
     Enter Username and Password as provided to you by SURF.&lt;br /&gt;
     Leave all other fields blank. Do not store your user name and password on shared computers.&lt;br /&gt;
  SSL tab: SSL = require&lt;br /&gt;
  Advanced tab: Check &amp;quot;Connect now&amp;quot; and &amp;quot;Restore env?&amp;quot; boxes.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Windows) =&lt;br /&gt;
&lt;br /&gt;
ODBC (Open Database connectivity) is a standard method of sharing data between databases and other programs. ODBC drivers use SQL to gain access to data from sources outside the program.  Therefore, in order to connect between your database and other programs you must set up an ODBC connection.&lt;br /&gt;
  &lt;br /&gt;
Step 1: Download and install the most recent ODBC driver for postgreSQL.&lt;br /&gt;
[http://www.postgresql.org/ftp/odbc/versions/msi/]&lt;br /&gt;
&lt;br /&gt;
Step 2: Set up an ODBC connection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do the following (variations may exist between windows operating systems):&lt;br /&gt;
# Go to '''start | Control panel | Administrative tools | Data sources (ODBC)'''. If you are having trouble finding it, type &amp;quot;ODBC&amp;quot; into the Search box at the top of the Control Panel window.&lt;br /&gt;
# Go to '''User DSN''' (first tab in Data sources).&lt;br /&gt;
# Click '''ADD'''.&lt;br /&gt;
# In the window '''Create''' '''New Data Source''' select '''PostgreSQL ANSI''' and click '''FINISH'''.&lt;br /&gt;
# The '''ODBC Driver Setup''' window opens. '''Data source name''': give your data source a name (e.g. GPS).  Keep it simple and easily identifiable since this is the name you will use to identify your database from other applications; this will be the '''ODBC driver name'''.&lt;br /&gt;
# In the same window, fill in the following information: '''database''' ''eecology'', '''Server'''  ''pubserv.e-ecology.nl'', '''User Name''' ''your user name'', '''SSL Mode''' ''require'', '''Port''' ''5432'', '''Password''' ''your password''. Click '''TEST''' to test your connection. When the window is completed click '''SAVE'''.&lt;br /&gt;
# Back in the '''User DSN''' window you should now see the ODBC driver you just named. Click '''OK'''.&lt;br /&gt;
After completing these steps many other programs will now recognize your database and be able to communicate with it. If you are having problems setting up the connection, go back to Step 1 above and make sure that you have the most recent version of the PostgreSQL ODBC driver.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (MacOSX 10.8.5 ) =&lt;br /&gt;
&lt;br /&gt;
The PostgreSQL ODBC driver provided here is a 64-bit driver. It will probably only work if the other components involved in accessing the UvA-BiTS database are also 64-bit. This includes R, iODBC, and libpq. It has been tested on MacOSX 10.8.5 (Mountain Lion) with 64-bit R 3.0.2 (Frisbee Sailing). If you have an older version of MacOSX, and/or a 32-bit version of R installed, this driver may or may not work for you. There's no harm in trying. If it does not work, and you have a 32-bit version of R installed, try using the 64-bit version instead (this will allow R to use more memory as well, possibly speeding up your calculations). &lt;br /&gt;
&lt;br /&gt;
1. Download the ODBC Administrator Tool for Mac OS X v1.0 using the following URL http://support.apple.com/kb/DL895&lt;br /&gt;
&lt;br /&gt;
2. Download the zip file found here [http://horizon.science.uva.nl/public/pgodbc_macosx/]. Unpack the .zip file into your home directory by double clicking it. Your home directory will usually have your name and is located in Macintosh HD &amp;gt; Users next to the little symbol of a house. This will create a folder called &amp;quot;pgodbc&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
3. Open the iODBC Administator.app from within Applications.&lt;br /&gt;
&lt;br /&gt;
4. Select the tab &amp;quot;ODBC Drivers&amp;quot; and click on &amp;quot;Add a driver&amp;quot;. A new window will open.&lt;br /&gt;
&lt;br /&gt;
5. The first field is &amp;quot;Description of the driver&amp;quot;. Type in &amp;quot;PostgreSQL&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. Click on &amp;quot;Browse&amp;quot; next to the second field to locate and select the driver file you unpacked from the .zip file you downloaded.&lt;br /&gt;
&lt;br /&gt;
7. Go to folder &amp;quot;pgodbc&amp;quot; in your home directory, and select the driver file &amp;quot;psqlodbcw.so&amp;quot;&lt;br /&gt;
&lt;br /&gt;
8. Make sure the driver is defined as &amp;quot;System&amp;quot;, i.e., that the &amp;quot;System&amp;quot; option is selected and not the &amp;quot;User&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
9. Click on &amp;quot;Add&amp;quot; at the bottom of this window, and &amp;quot;OK&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should now be able to access the database through R using the R script provided.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Linux) =&lt;br /&gt;
&lt;br /&gt;
1. Install unixODBC and its -dev file&lt;br /&gt;
$ sudo apt-get install unixODBC unixODBC-dev&lt;br /&gt;
&lt;br /&gt;
2. Install the postgresql package&lt;br /&gt;
&lt;br /&gt;
  $ sudo apt-get install odbc-postgresql&lt;br /&gt;
&lt;br /&gt;
3. Configure the PostgreSQL ODBC driver in the /etc/odbcinst.ini file&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbcinst.ini&lt;br /&gt;
&lt;br /&gt;
4. On Ubuntu, the /etc/odbcinst.ini file will be blank, so you’ll need to add the data to that configuration file. Add the following to the odbcinst.ini file:&lt;br /&gt;
&lt;br /&gt;
  [PostgreSQL]&lt;br /&gt;
  Description = ODBC for PostgreSQL&lt;br /&gt;
  Driver = /usr/lib/odbc/psqlodbca.so&lt;br /&gt;
  Setup = /usr/lib/odbc/libodbcpsqlS.so&lt;br /&gt;
  FileUsage = 1&lt;br /&gt;
'''Be careful,''' on x64, the path for the driver and setup should look&lt;br /&gt;
something like that /usr/lib/x86_64-linux-gnu/odbc/ (use the command $&lt;br /&gt;
mlocate psql to find the appropriate path...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Verify that the system is able to see the driver by running the&lt;br /&gt;
following command. It should return the label name [PostgreSQL] if all is&lt;br /&gt;
well:&lt;br /&gt;
&lt;br /&gt;
  $ odbcinst -q -d&lt;br /&gt;
&lt;br /&gt;
6. Next, configure the /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
Here is what the text file should look like&lt;br /&gt;
&lt;br /&gt;
  [GPStracker]&lt;br /&gt;
  Driver       = PostgreSQL&lt;br /&gt;
  Description  = PostgreSQL connection to the UvA BiTS DataBase&lt;br /&gt;
  Servername   = pubserv.e-ecology.nl&lt;br /&gt;
  Port         = 5432&lt;br /&gt;
  UserName     = user_name&lt;br /&gt;
  Password     = yourpassword&lt;br /&gt;
  Database     = eecology&lt;br /&gt;
  SSLMode      = prefer&lt;br /&gt;
  OPTION       = 3&lt;br /&gt;
  SOCKET       =&lt;br /&gt;
&lt;br /&gt;
You should now be able to connect to the database, for example via RODBC.&lt;br /&gt;
&lt;br /&gt;
= Connecting other programs to the UvA-BiTS database (e.g. R, Access, ArcGIS) =&lt;br /&gt;
&lt;br /&gt;
This section provides information on how to set up an Open Database Connectivity (ODBC) which will enable many software packages to extract data directly from the database.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Here you provide the name of the database file or the user DSN name for a given ODBC data source (as described above).&lt;br /&gt;
 &lt;br /&gt;
 db.file &amp;lt;-&amp;quot;GPS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Load the RODBC library.  Visit the CRAN repository &amp;lt;http://cran.r-project.org/web/packages/&amp;gt; for a list of contributed packages and instructions for installation. Packages may be installed using the GUI interface or using ?install.packages.&lt;br /&gt;
&lt;br /&gt;
 library(RODBC)&lt;br /&gt;
&lt;br /&gt;
Establish a connection to the database, the following code is used if reading from an ODBC data source.&lt;br /&gt;
&lt;br /&gt;
 db &amp;lt;- odbcConnect(db.file) &lt;br /&gt;
&lt;br /&gt;
View the table names in the database.&lt;br /&gt;
&lt;br /&gt;
 sqlTables(db)&lt;br /&gt;
&lt;br /&gt;
View the field (column) names of a specific table.&lt;br /&gt;
&lt;br /&gt;
 sqlColumns(db, table.name)&lt;br /&gt;
&lt;br /&gt;
Query the database, returning data from table gps.uva_tracking_speed_limited, for device_info_serial 1 as dataframe &amp;quot;test&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R (mac) ==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Connect to the database in R with the package RODBC, using your username and password.&lt;br /&gt;
Install the RODBC package and any dependencies&lt;br /&gt;
 install.packages(&amp;quot;RODBC&amp;quot;, dep=T)&lt;br /&gt;
 require(RODBC)&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;user&amp;quot; and &amp;quot;password&amp;quot; with your own username and password provided by SURF:&lt;br /&gt;
 my_username &amp;lt;- &amp;quot;user&amp;quot;&lt;br /&gt;
 my_password &amp;lt;- &amp;quot;password&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Define the connection and connect from within R:&lt;br /&gt;
 l.connstring &amp;lt;- 'DRIVER=PostgreSQL;'&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SERVER=pubserv.e-ecology.nl;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'PORT=5432;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SSLMODE=require;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'DATABASE=eecology;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;USERNAME=&amp;quot;, my_username, &amp;quot;;&amp;quot;, sep=''), sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;PASSWORD=&amp;quot;, my_password, &amp;quot;;&amp;quot;, sep='') , sep = '') &lt;br /&gt;
&lt;br /&gt;
 GPS &amp;lt;- odbcDriverConnect(l.connstring, case = &amp;quot;tolower&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
From here you can write SQL queries and retrieve the data through R. Here is an example.&lt;br /&gt;
&lt;br /&gt;
To extract GPS data, remember to replace &amp;lt;insert bird id&amp;gt; with the device serial number of one of your tracked birds: &lt;br /&gt;
 gps_test &amp;lt;- sqlQuery(GPS, query = &amp;quot;SELECT * &lt;br /&gt;
 FROM gps.ee_tracking_speed_limited s  &lt;br /&gt;
 WHERE s.device_info_serial = &amp;lt;insert bird ID&amp;gt;&amp;quot;, as.is=c(2))&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in Access==&lt;br /&gt;
After completing the steps for setting up an ODBC connection, you can connect to the database via Access. You have two options. One is to import the data; once this is done your database is not automatically updated but does not require a link to the database.&lt;br /&gt;
&lt;br /&gt;
The second option (described below) is to create a dynamic link to the database. (You must be connected to the network.) In this case you are always viewing updated data that is in the actual SURF database. The first set of instructions is for Access 2007-2010, while the second is for the older version of Access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2007-2010'''.&lt;br /&gt;
# Go to '''External data | ODBC Database'''.&lt;br /&gt;
# Select '''Link to the data source by creating a linked table'''. Click OK.&lt;br /&gt;
# In '''Select Data Source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2003'''.&lt;br /&gt;
# Go to '''File | Get external data | Link tables'''.&lt;br /&gt;
# In '''Files of type''', select '''ODBC databases'''.&lt;br /&gt;
# In '''Select data source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You now have access to your selected tables in the database. Have fun.&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=E-Ecology_Documentation_and_Guidance&amp;diff=1407</id>
		<title>E-Ecology Documentation and Guidance</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=E-Ecology_Documentation_and_Guidance&amp;diff=1407"/>
				<updated>2018-04-05T08:45:00Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* UvA-BiTS Services */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Last updated: February 2018, Stacy Shinneman&lt;br /&gt;
&lt;br /&gt;
The e-Ecology Virtual Laboratories represent a collaborative effort between the University of Amsterdam Institute for Biodiversity and Ecosystem Dynamics and SURFsara Computing to manage bird tracking data and develop tools for data exploration, analysis and visualization. This wiki is designed to facilitate access to the data and tools within the Virtual Laboratories and to provide a forum for collaboration. &lt;br /&gt;
&lt;br /&gt;
The e-Ecology database contains many different datasets, each of which is contained within its own schema. Prior to 2018, the e-Ecology database was also referred to as the FlySafe database.&lt;br /&gt;
&lt;br /&gt;
== UvA-BiTS Data == &lt;br /&gt;
&lt;br /&gt;
Bird data collected with the UvA-BiTS Bird Tracking System is managed within the gps schema of the e-Ecology database. &lt;br /&gt;
&lt;br /&gt;
Note: We are continually working on improving UvA-BiTS services, including data processing and Virtual Lab functionality. In some cases, this has enabled us to extract more information from old GPS log files which is then incorporated into the database.  These changes may result in slight differences when you reprocess historic data. &lt;br /&gt;
&lt;br /&gt;
::* [[ DB_Views_2015 | e-Ecology UvA-BiTS database for general use (views) ]]&lt;br /&gt;
::* [[ DB_Tables_2015 | e-Ecology UvA-BiTS tables behind the views (not accessible for normal use) ]]&lt;br /&gt;
::* [[How to access the e-Ecology database]]&lt;br /&gt;
::* [[Useful Queries]]&lt;br /&gt;
&lt;br /&gt;
==UvA-BiTS Services==&lt;br /&gt;
&lt;br /&gt;
* Visualization Tools&lt;br /&gt;
&lt;br /&gt;
:: [[KMZ Generator|UvA-BiTS KMZ Generator]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::Produces kmz files of UvA-BiTS bird tracking data to be viewed in Google Earth. &lt;br /&gt;
:: [[Tracker Calendar]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::Calendar overview with daily statistics of GPS-tracker&lt;br /&gt;
:: [[Flight Generator]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::This tool produces GPX files from UvA-BiTS tracking data for dynamic [http://www.doarama.com Doarama] visualizations.&lt;br /&gt;
:: [[BirdView]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::Access meterological and radar data and overlay with GPS bird tracking data. '''''This service is currently not available.'''''&lt;br /&gt;
:: [[BirdSim]]:  &amp;lt;br/ &amp;gt;&lt;br /&gt;
:::More dynamic version of BirdView that allows the user to scroll through weather data in time and space. '''''This service is currently not available.'''''&lt;br /&gt;
&lt;br /&gt;
* [[Dashboard]]:   These web pages allow UvA-BiTS users to get an overview of the raw data files of GPS bird tracking devices they have access to and to access the dashboard for administering projects. &lt;br /&gt;
&lt;br /&gt;
* [[ Annotation tables ]] for uploading GPS annotation data into your own schema and sharing your tables with other users. '''''This service is currently not available.'''''&lt;br /&gt;
* [[ SMS tables ]] for storage of SMS messages send by trackers.&lt;br /&gt;
* [[ CartoDB ]] usage and limitation of CartoDB server&lt;br /&gt;
&lt;br /&gt;
== Changes to the UvA-BiTS data model in 2014 ==&lt;br /&gt;
'''Important'''&lt;br /&gt;
In the summer of 2014 we have '''re-arranged the administrative''' part of UvA-BiTS (and e-Ecology) in the database. End users may have to adapt their programs the following way:&lt;br /&gt;
:* The '''uva_*_limited''' views that used to exist in the gps schema are gone. Most of them should have been replaced with an equivalent '''ee_*_limited counterpart'''.&lt;br /&gt;
:* The new ee_*_limited views show a superset of the same information as before, but enhanced with new project information.&lt;br /&gt;
:* Some '''column names''' in the ee_*_limited views may differ from the previous views.&lt;br /&gt;
:* There are new limited views: &lt;br /&gt;
:** gps.ee_'''project'''_limited: shows your projects' information&lt;br /&gt;
:** gps.ee_'''shared'''_*_limited: set of data you are able to see related to trackers that a project is sharing with a project you belong to&lt;br /&gt;
:* Special attention: gps.uva_device_limited is now replaced by '''gps.ee_tracker_limited'''. For each tracker, you now see which project provides you access to that tracker.&lt;br /&gt;
:* Also, '''gps.uva_tracking_limited''' is gone. Instead of that we have gps.ee_tracker_speed_limited, which adds speed columns to the original data. This amounts to a merger of gps.ee_tracking_limited, gps.ee_tracking_speed_3d_limited and gps.ee_tracking_speed_limited.&lt;br /&gt;
:* [[ UvAGPS|UvA-BiTS Data Model]] - OLD&lt;br /&gt;
&lt;br /&gt;
==Other e-Ecology Datasets==&lt;br /&gt;
&lt;br /&gt;
'''ENVIRONMENTAL DATA'''&lt;br /&gt;
&lt;br /&gt;
::* [[ Elevation|Elevation Data ]]&lt;br /&gt;
::* [[ ECMWF|Weather Forecast Data (ECMWF)]] Restricted to FlySafe users.&lt;br /&gt;
&lt;br /&gt;
'''FLYSAFE'''&lt;br /&gt;
&lt;br /&gt;
:Data related to European Space Agency FlySafe project. Financed by the Royal Netherlands Air Force. &lt;br /&gt;
&lt;br /&gt;
::* [[Argos Data Model|Argos GPS Data Model]]&lt;br /&gt;
::* [[ RADAR|Radar Data Model]]&lt;br /&gt;
::* [[ Wind profile|Wind Profile Data Model]]&lt;br /&gt;
::* [[How to access the e-Ecology database]]&lt;br /&gt;
&lt;br /&gt;
==Other e-Ecology Services==&lt;br /&gt;
[[e-Ecology GPS Bird Track Generator]]: Produce kmz files of ARGOS/GPS bird tracking data from the FlySafe project to be viewed in Google Earth. &lt;br /&gt;
&lt;br /&gt;
[[ Administration]]: Information about user rights and data processing tasks.&lt;br /&gt;
&lt;br /&gt;
[[ Bookkeeping]]: Description of tables related to e-Ecology data processing and archiving.&lt;br /&gt;
&lt;br /&gt;
[[ ToDo ]]&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=Setting_up_a_connection_to_the_e-Ecology_database&amp;diff=1406</id>
		<title>Setting up a connection to the e-Ecology database</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=Setting_up_a_connection_to_the_e-Ecology_database&amp;diff=1406"/>
				<updated>2018-02-22T11:42:52Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: Replaced content with &amp;quot;Disregard: I created this page by mistake and now cannot delete - Stacy Feb 2018&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Disregard: I created this page by mistake and now cannot delete - Stacy Feb 2018&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=Connecting_to_the_database&amp;diff=1405</id>
		<title>Connecting to the database</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=Connecting_to_the_database&amp;diff=1405"/>
				<updated>2018-02-22T11:41:43Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Disregard: I created this page by mistake and now cannot delete - Stacy Feb 2018&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=E-Ecology_Documentation_and_Guidance&amp;diff=1404</id>
		<title>E-Ecology Documentation and Guidance</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=E-Ecology_Documentation_and_Guidance&amp;diff=1404"/>
				<updated>2018-02-22T10:43:47Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* Other e-Ecology Datasets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Last updated: February 2018, Stacy Shinneman&lt;br /&gt;
&lt;br /&gt;
The e-Ecology Virtual Laboratories represent a collaborative effort between the University of Amsterdam Institute for Biodiversity and Ecosystem Dynamics and SURFsara Computing to manage bird tracking data and develop tools for data exploration, analysis and visualization. This wiki is designed to facilitate access to the data and tools within the Virtual Laboratories and to provide a forum for collaboration. &lt;br /&gt;
&lt;br /&gt;
The e-Ecology database contains many different datasets, each of which is contained within its own schema. Prior to 2018, the e-Ecology database was also referred to as the FlySafe database.&lt;br /&gt;
&lt;br /&gt;
== UvA-BiTS Data == &lt;br /&gt;
&lt;br /&gt;
Bird data collected with the UvA-BiTS Bird Tracking System is managed within the gps schema of the e-Ecology database. &lt;br /&gt;
&lt;br /&gt;
Note: We are continually working on improving UvA-BiTS services, including data processing and Virtual Lab functionality. In some cases, this has enabled us to extract more information from old GPS log files which is then incorporated into the database.  These changes may result in slight differences when you reprocess historic data. &lt;br /&gt;
&lt;br /&gt;
::* [[ DB_Views_2015 | e-Ecology UvA-BiTS database for general use (views) ]]&lt;br /&gt;
::* [[ DB_Tables_2015 | e-Ecology UvA-BiTS tables behind the views (not accessible for normal use) ]]&lt;br /&gt;
::* [[How to access the e-Ecology database]]&lt;br /&gt;
::* [[Useful Queries]]&lt;br /&gt;
&lt;br /&gt;
==UvA-BiTS Services==&lt;br /&gt;
&lt;br /&gt;
* Visualization Tools&lt;br /&gt;
&lt;br /&gt;
:: [[KMZ Generator|UvA-BiTS KMZ Generator]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::Produces kmz files of UvA-BiTS bird tracking data to be viewed in Google Earth. &lt;br /&gt;
:: [[Tracker Calendar]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::Calendar overview with daily statistics of GPS-tracker&lt;br /&gt;
:: [[Flight Generator]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::This tool produces GPX files from UvA-BiTS tracking data for dynamic [http://www.doarama.com Doarama] visualizations.&lt;br /&gt;
:: [[BirdView]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::Access meterological and radar data and overlay with GPS bird tracking data. ''This service is currently not available.''&lt;br /&gt;
:: [[BirdSim]]:  &amp;lt;br/ &amp;gt;&lt;br /&gt;
:::More dynamic version of BirdView that allows the user to scroll through weather data in time and space. ''This service is currently not available.''&lt;br /&gt;
&lt;br /&gt;
* [[Dashboard]]:   These web pages allow UvA-BiTS users to get an overview of the raw data files of GPS bird tracking devices they have access to and to access the dashboard for administering projects. &lt;br /&gt;
&lt;br /&gt;
* [[ Annotation tables ]] for uploading GPS annotation data into your own schema and sharing your tables with other users. ''This service is currently not available.''&lt;br /&gt;
* [[ SMS tables ]] for storage of SMS messages send by trackers.&lt;br /&gt;
* [[ CartoDB ]] usage and limitation of CartoDB server&lt;br /&gt;
&lt;br /&gt;
== Changes to the UvA-BiTS data model in 2014 ==&lt;br /&gt;
'''Important'''&lt;br /&gt;
In the summer of 2014 we have '''re-arranged the administrative''' part of UvA-BiTS (and e-Ecology) in the database. End users may have to adapt their programs the following way:&lt;br /&gt;
:* The '''uva_*_limited''' views that used to exist in the gps schema are gone. Most of them should have been replaced with an equivalent '''ee_*_limited counterpart'''.&lt;br /&gt;
:* The new ee_*_limited views show a superset of the same information as before, but enhanced with new project information.&lt;br /&gt;
:* Some '''column names''' in the ee_*_limited views may differ from the previous views.&lt;br /&gt;
:* There are new limited views: &lt;br /&gt;
:** gps.ee_'''project'''_limited: shows your projects' information&lt;br /&gt;
:** gps.ee_'''shared'''_*_limited: set of data you are able to see related to trackers that a project is sharing with a project you belong to&lt;br /&gt;
:* Special attention: gps.uva_device_limited is now replaced by '''gps.ee_tracker_limited'''. For each tracker, you now see which project provides you access to that tracker.&lt;br /&gt;
:* Also, '''gps.uva_tracking_limited''' is gone. Instead of that we have gps.ee_tracker_speed_limited, which adds speed columns to the original data. This amounts to a merger of gps.ee_tracking_limited, gps.ee_tracking_speed_3d_limited and gps.ee_tracking_speed_limited.&lt;br /&gt;
:* [[ UvAGPS|UvA-BiTS Data Model]] - OLD&lt;br /&gt;
&lt;br /&gt;
==Other e-Ecology Datasets==&lt;br /&gt;
&lt;br /&gt;
'''ENVIRONMENTAL DATA'''&lt;br /&gt;
&lt;br /&gt;
::* [[ Elevation|Elevation Data ]]&lt;br /&gt;
::* [[ ECMWF|Weather Forecast Data (ECMWF)]] Restricted to FlySafe users.&lt;br /&gt;
&lt;br /&gt;
'''FLYSAFE'''&lt;br /&gt;
&lt;br /&gt;
:Data related to European Space Agency FlySafe project. Financed by the Royal Netherlands Air Force. &lt;br /&gt;
&lt;br /&gt;
::* [[Argos Data Model|Argos GPS Data Model]]&lt;br /&gt;
::* [[ RADAR|Radar Data Model]]&lt;br /&gt;
::* [[ Wind profile|Wind Profile Data Model]]&lt;br /&gt;
::* [[How to access the e-Ecology database]]&lt;br /&gt;
&lt;br /&gt;
==Other e-Ecology Services==&lt;br /&gt;
[[e-Ecology GPS Bird Track Generator]]: Produce kmz files of ARGOS/GPS bird tracking data from the FlySafe project to be viewed in Google Earth. &lt;br /&gt;
&lt;br /&gt;
[[ Administration]]: Information about user rights and data processing tasks.&lt;br /&gt;
&lt;br /&gt;
[[ Bookkeeping]]: Description of tables related to e-Ecology data processing and archiving.&lt;br /&gt;
&lt;br /&gt;
[[ ToDo ]]&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=E-Ecology_Documentation_and_Guidance&amp;diff=1403</id>
		<title>E-Ecology Documentation and Guidance</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=E-Ecology_Documentation_and_Guidance&amp;diff=1403"/>
				<updated>2018-02-22T10:43:34Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* UvA-BiTS Data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Last updated: February 2018, Stacy Shinneman&lt;br /&gt;
&lt;br /&gt;
The e-Ecology Virtual Laboratories represent a collaborative effort between the University of Amsterdam Institute for Biodiversity and Ecosystem Dynamics and SURFsara Computing to manage bird tracking data and develop tools for data exploration, analysis and visualization. This wiki is designed to facilitate access to the data and tools within the Virtual Laboratories and to provide a forum for collaboration. &lt;br /&gt;
&lt;br /&gt;
The e-Ecology database contains many different datasets, each of which is contained within its own schema. Prior to 2018, the e-Ecology database was also referred to as the FlySafe database.&lt;br /&gt;
&lt;br /&gt;
== UvA-BiTS Data == &lt;br /&gt;
&lt;br /&gt;
Bird data collected with the UvA-BiTS Bird Tracking System is managed within the gps schema of the e-Ecology database. &lt;br /&gt;
&lt;br /&gt;
Note: We are continually working on improving UvA-BiTS services, including data processing and Virtual Lab functionality. In some cases, this has enabled us to extract more information from old GPS log files which is then incorporated into the database.  These changes may result in slight differences when you reprocess historic data. &lt;br /&gt;
&lt;br /&gt;
::* [[ DB_Views_2015 | e-Ecology UvA-BiTS database for general use (views) ]]&lt;br /&gt;
::* [[ DB_Tables_2015 | e-Ecology UvA-BiTS tables behind the views (not accessible for normal use) ]]&lt;br /&gt;
::* [[How to access the e-Ecology database]]&lt;br /&gt;
::* [[Useful Queries]]&lt;br /&gt;
&lt;br /&gt;
==UvA-BiTS Services==&lt;br /&gt;
&lt;br /&gt;
* Visualization Tools&lt;br /&gt;
&lt;br /&gt;
:: [[KMZ Generator|UvA-BiTS KMZ Generator]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::Produces kmz files of UvA-BiTS bird tracking data to be viewed in Google Earth. &lt;br /&gt;
:: [[Tracker Calendar]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::Calendar overview with daily statistics of GPS-tracker&lt;br /&gt;
:: [[Flight Generator]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::This tool produces GPX files from UvA-BiTS tracking data for dynamic [http://www.doarama.com Doarama] visualizations.&lt;br /&gt;
:: [[BirdView]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::Access meterological and radar data and overlay with GPS bird tracking data. ''This service is currently not available.''&lt;br /&gt;
:: [[BirdSim]]:  &amp;lt;br/ &amp;gt;&lt;br /&gt;
:::More dynamic version of BirdView that allows the user to scroll through weather data in time and space. ''This service is currently not available.''&lt;br /&gt;
&lt;br /&gt;
* [[Dashboard]]:   These web pages allow UvA-BiTS users to get an overview of the raw data files of GPS bird tracking devices they have access to and to access the dashboard for administering projects. &lt;br /&gt;
&lt;br /&gt;
* [[ Annotation tables ]] for uploading GPS annotation data into your own schema and sharing your tables with other users. ''This service is currently not available.''&lt;br /&gt;
* [[ SMS tables ]] for storage of SMS messages send by trackers.&lt;br /&gt;
* [[ CartoDB ]] usage and limitation of CartoDB server&lt;br /&gt;
&lt;br /&gt;
== Changes to the UvA-BiTS data model in 2014 ==&lt;br /&gt;
'''Important'''&lt;br /&gt;
In the summer of 2014 we have '''re-arranged the administrative''' part of UvA-BiTS (and e-Ecology) in the database. End users may have to adapt their programs the following way:&lt;br /&gt;
:* The '''uva_*_limited''' views that used to exist in the gps schema are gone. Most of them should have been replaced with an equivalent '''ee_*_limited counterpart'''.&lt;br /&gt;
:* The new ee_*_limited views show a superset of the same information as before, but enhanced with new project information.&lt;br /&gt;
:* Some '''column names''' in the ee_*_limited views may differ from the previous views.&lt;br /&gt;
:* There are new limited views: &lt;br /&gt;
:** gps.ee_'''project'''_limited: shows your projects' information&lt;br /&gt;
:** gps.ee_'''shared'''_*_limited: set of data you are able to see related to trackers that a project is sharing with a project you belong to&lt;br /&gt;
:* Special attention: gps.uva_device_limited is now replaced by '''gps.ee_tracker_limited'''. For each tracker, you now see which project provides you access to that tracker.&lt;br /&gt;
:* Also, '''gps.uva_tracking_limited''' is gone. Instead of that we have gps.ee_tracker_speed_limited, which adds speed columns to the original data. This amounts to a merger of gps.ee_tracking_limited, gps.ee_tracking_speed_3d_limited and gps.ee_tracking_speed_limited.&lt;br /&gt;
:* [[ UvAGPS|UvA-BiTS Data Model]] - OLD&lt;br /&gt;
&lt;br /&gt;
==Other e-Ecology Datasets==&lt;br /&gt;
&lt;br /&gt;
'''ENVIRONMENTAL DATA'''&lt;br /&gt;
&lt;br /&gt;
::* [[ Elevation|Elevation Data ]]&lt;br /&gt;
::* [[ ECMWF|Weather Forecast Data (ECMWF)]] Restricted to FlySafe users.&lt;br /&gt;
&lt;br /&gt;
'''FLYSAFE'''&lt;br /&gt;
&lt;br /&gt;
:Data related to European Space Agency FlySafe project. Financed by the Royal Netherlands Air Force. &lt;br /&gt;
&lt;br /&gt;
::* [[Argos Data Model|Argos GPS Data Model]]&lt;br /&gt;
::* [[ RADAR|Radar Data Model]]&lt;br /&gt;
::* [[ Wind profile|Wind Profile Data Model]]&lt;br /&gt;
::* [[Setting up a connection to the e-Ecology database]]&lt;br /&gt;
&lt;br /&gt;
==Other e-Ecology Services==&lt;br /&gt;
[[e-Ecology GPS Bird Track Generator]]: Produce kmz files of ARGOS/GPS bird tracking data from the FlySafe project to be viewed in Google Earth. &lt;br /&gt;
&lt;br /&gt;
[[ Administration]]: Information about user rights and data processing tasks.&lt;br /&gt;
&lt;br /&gt;
[[ Bookkeeping]]: Description of tables related to e-Ecology data processing and archiving.&lt;br /&gt;
&lt;br /&gt;
[[ ToDo ]]&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1401</id>
		<title>How to access the e-Ecology database</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=How_to_access_the_e-Ecology_database&amp;diff=1401"/>
				<updated>2018-02-22T10:43:14Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: moved Connecting to the UvA-BiTS database to How to access the e-Ecology database&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=General Information=&lt;br /&gt;
&lt;br /&gt;
The UvA-BiTS database is a spatial postgreSQL database([http://www.postgresql.org/]). In order to access the database you must first have a user name and password provided to you by SURF.&lt;br /&gt;
&lt;br /&gt;
=How to access the database=&lt;br /&gt;
'''Via the UvA-BiTS Virtual Lab''' : http://www.uva-bits.nl/virtual-lab/ &lt;br /&gt;
The database can be accessed from any computer with an internet connection by clicking on the database icon on the Virtual Lab webpage. Access to the postgreSQL database is provided via a phpPgAdmin web service. Login to the database. To see the tables and views available in the database, expand the 'eEcology' folder by clicking directly on it or on the + next to it, then click the + next to the 'eecology' folder, next expand 'Schemas' and finally 'gps'. Now you should be able to expand the database tables and views. Most users will only have access to the data included in tables or views that end with “_limited”; these are subsets of the entire database and include only the data to which you officially have access.&lt;br /&gt;
&lt;br /&gt;
'''Via PgAdmin client software:''' &lt;br /&gt;
PgAdmin must installed on your computer: http://www.pgadmin.org/download/&lt;br /&gt;
Once you have installed the pgAdmin software on your computer, go to File - Add Server. In the 'New Server Registration' window, enter the following:&lt;br /&gt;
&lt;br /&gt;
  Properties tab: &lt;br /&gt;
     Name: e-Ecology&lt;br /&gt;
     Host: pubserv.e-ecology.nl&lt;br /&gt;
     Port: 5432&lt;br /&gt;
     Maintenance DB: eecology&lt;br /&gt;
     Enter Username and Password as provided to you by SURF.&lt;br /&gt;
     Leave all other fields blank. Generally it is not recommended to store the password, especially on shared computer.&lt;br /&gt;
  SSL tab: SSL = require&lt;br /&gt;
  Advanced tab: Check &amp;quot;Connect now&amp;quot; and &amp;quot;Restore env?&amp;quot; boxes.&lt;br /&gt;
&lt;br /&gt;
'''Connecting via other programs:''' &lt;br /&gt;
You can also connect to the database via other programs (Access, R, etc.) by setting up an ODBC driver for postgreSQL and establishing a &amp;quot;User Data Source&amp;quot;. (See &amp;quot;Setting Up an ODBC Connection&amp;quot; below.)&lt;br /&gt;
&lt;br /&gt;
'''Now that I have connected, what do all these tables and views really mean?''' See the UvA-BiTS Data Model page of this wiki.&lt;br /&gt;
&lt;br /&gt;
'''UvA students and employees working on the UvA network:'''&lt;br /&gt;
The database can be directly accessed from computers connected to the university network through PgAdmin software. The computer you are working on must first have the pgAdmin software installed. You can also access the database from other programs (Access, R, etc.) by installing an ODBC driver for postgreSQL and establishing a &amp;quot;User Data Source&amp;quot;. (See &amp;quot;Setting Up an ODBC Connection&amp;quot; below.) In pgAdmin go to File - Add Server. In the 'New Server Registration' window, enter the following:&lt;br /&gt;
&lt;br /&gt;
  Properties tab: &lt;br /&gt;
     Name: e-Ecology&lt;br /&gt;
     Host: pubserv.e-ecology.nl&lt;br /&gt;
     Port: 5432&lt;br /&gt;
     Maintenance DB: eecology&lt;br /&gt;
     Enter Username and Password as provided to you by SURF.&lt;br /&gt;
     Leave all other fields blank. Do not store your user name and password on shared computers.&lt;br /&gt;
  SSL tab: SSL = require&lt;br /&gt;
  Advanced tab: Check &amp;quot;Connect now&amp;quot; and &amp;quot;Restore env?&amp;quot; boxes.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Windows) =&lt;br /&gt;
&lt;br /&gt;
ODBC (Open Database connectivity) is a standard method of sharing data between databases and other programs. ODBC drivers use SQL to gain access to data from sources outside the program.  Therefore, in order to connect between your database and other programs you must set up an ODBC connection.&lt;br /&gt;
  &lt;br /&gt;
Step 1: Download and install the most recent ODBC driver for postgreSQL.&lt;br /&gt;
[http://www.postgresql.org/ftp/odbc/versions/msi/]&lt;br /&gt;
&lt;br /&gt;
Step 2: Set up an ODBC connection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do the following (variations may exist between windows operating systems):&lt;br /&gt;
# Go to '''start | Control panel | Administrative tools | Data sources (ODBC)'''. If you are having trouble finding it, type &amp;quot;ODBC&amp;quot; into the Search box at the top of the Control Panel window.&lt;br /&gt;
# Go to '''User DSN''' (first tab in Data sources).&lt;br /&gt;
# Click '''ADD'''.&lt;br /&gt;
# In the window '''Create''' '''New Data Source''' select '''PostgreSQL ANSI''' and click '''FINISH'''.&lt;br /&gt;
# The '''ODBC Driver Setup''' window opens. '''Data source name''': give your data source a name (e.g. GPS).  Keep it simple and easily identifiable since this is the name you will use to identify your database from other applications; this will be the '''ODBC driver name'''.&lt;br /&gt;
# In the same window, fill in the following information: '''database''' ''eecology'', '''Server'''  ''pubserv.e-ecology.nl'', '''User Name''' ''your user name'', '''SSL Mode''' ''require'', '''Port''' ''5432'', '''Password''' ''your password''. Click '''TEST''' to test your connection. When the window is completed click '''SAVE'''.&lt;br /&gt;
# Back in the '''User DSN''' window you should now see the ODBC driver you just named. Click '''OK'''.&lt;br /&gt;
After completing these steps many other programs will now recognize your database and be able to communicate with it.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (MacOSX 10.8.5 ) =&lt;br /&gt;
&lt;br /&gt;
The PostgreSQL ODBC driver provided here is a 64-bit driver. It will probably only work if the other components involved in accessing the UvA-BiTS database are also 64-bit. This includes R, iODBC, and libpq. It has been tested on MacOSX 10.8.5 (Mountain Lion) with 64-bit R 3.0.2 (Frisbee Sailing). If you have an older version of MacOSX, and/or a 32-bit version of R installed, this driver may or may not work for you. There's no harm in trying. If it does not work, and you have a 32-bit version of R installed, try using the 64-bit version instead (this will allow R to use more memory as well, possibly speeding up your calculations). &lt;br /&gt;
&lt;br /&gt;
1. Download the ODBC Administrator Tool for Mac OS X v1.0 using the following URL http://support.apple.com/kb/DL895&lt;br /&gt;
&lt;br /&gt;
2. Download the zip file found here [http://horizon.science.uva.nl/public/pgodbc_macosx/]. Unpack the .zip file into your home directory by double clicking it. Your home directory will usually have your name and is located in Macintosh HD &amp;gt; Users next to the little symbol of a house. This will create a folder called &amp;quot;pgodbc&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
3. Open the iODBC Administator.app from within Applications.&lt;br /&gt;
&lt;br /&gt;
4. Select the tab &amp;quot;ODBC Drivers&amp;quot; and click on &amp;quot;Add a driver&amp;quot;. A new window will open.&lt;br /&gt;
&lt;br /&gt;
5. The first field is &amp;quot;Description of the driver&amp;quot;. Type in &amp;quot;PostgreSQL&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. Click on &amp;quot;Browse&amp;quot; next to the second field to locate and select the driver file you unpacked from the .zip file you downloaded.&lt;br /&gt;
&lt;br /&gt;
7. Go to folder &amp;quot;pgodbc&amp;quot; in your home directory, and select the driver file &amp;quot;psqlodbcw.so&amp;quot;&lt;br /&gt;
&lt;br /&gt;
8. Make sure the driver is defined as &amp;quot;System&amp;quot;, i.e., that the &amp;quot;System&amp;quot; option is selected and not the &amp;quot;User&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
9. Click on &amp;quot;Add&amp;quot; at the bottom of this window, and &amp;quot;OK&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should now be able to access the database through R using the R script provided.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection (Linux) =&lt;br /&gt;
&lt;br /&gt;
1. Install unixODBC and its -dev file&lt;br /&gt;
$ sudo apt-get install unixODBC unixODBC-dev&lt;br /&gt;
&lt;br /&gt;
2. Install the postgresql package&lt;br /&gt;
&lt;br /&gt;
  $ sudo apt-get install odbc-postgresql&lt;br /&gt;
&lt;br /&gt;
3. Configure the PostgreSQL ODBC driver in the /etc/odbcinst.ini file&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbcinst.ini&lt;br /&gt;
&lt;br /&gt;
4. On Ubuntu, the /etc/odbcinst.ini file will be blank, so you’ll need to add the data to that configuration file. Add the following to the odbcinst.ini file:&lt;br /&gt;
&lt;br /&gt;
  [PostgreSQL]&lt;br /&gt;
  Description = ODBC for PostgreSQL&lt;br /&gt;
  Driver = /usr/lib/odbc/psqlodbca.so&lt;br /&gt;
  Setup = /usr/lib/odbc/libodbcpsqlS.so&lt;br /&gt;
  FileUsage = 1&lt;br /&gt;
'''Be careful,''' on x64, the path for the driver and setup should look&lt;br /&gt;
something like that /usr/lib/x86_64-linux-gnu/odbc/ (use the command $&lt;br /&gt;
mlocate psql to find the appropriate path...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Verify that the system is able to see the driver by running the&lt;br /&gt;
following command. It should return the label name [PostgreSQL] if all is&lt;br /&gt;
well:&lt;br /&gt;
&lt;br /&gt;
  $ odbcinst -q -d&lt;br /&gt;
&lt;br /&gt;
6. Next, configure the /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
  $ gksudo gedit /etc/odbc.ini&lt;br /&gt;
&lt;br /&gt;
Here is what the text file should look like&lt;br /&gt;
&lt;br /&gt;
  [GPStracker]&lt;br /&gt;
  Driver       = PostgreSQL&lt;br /&gt;
  Description  = PostgreSQL connection to the UvA BiTS DataBase&lt;br /&gt;
  Servername   = pubserv.e-ecology.nl&lt;br /&gt;
  Port         = 5432&lt;br /&gt;
  UserName     = user_name&lt;br /&gt;
  Password     = yourpassword&lt;br /&gt;
  Database     = eecology&lt;br /&gt;
  SSLMode      = prefer&lt;br /&gt;
  OPTION       = 3&lt;br /&gt;
  SOCKET       =&lt;br /&gt;
&lt;br /&gt;
You should now be able to connect to the database, for example via RODBC.&lt;br /&gt;
&lt;br /&gt;
= Connecting other programs to the UvA-BiTS database (e.g. R, Access, ArcGIS) =&lt;br /&gt;
&lt;br /&gt;
This section provides information on how to set up an Open Database Connectivity (ODBC) which will enable many software packages to extract data directly from the database.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Here you provide the name of the database file or the user DSN name for a given ODBC data source (as described above).&lt;br /&gt;
 &lt;br /&gt;
 db.file &amp;lt;-&amp;quot;GPS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Load the RODBC library.  Visit the CRAN repository &amp;lt;http://cran.r-project.org/web/packages/&amp;gt; for a list of contributed packages and instructions for installation. Packages may be installed using the GUI interface or using ?install.packages.&lt;br /&gt;
&lt;br /&gt;
 library(RODBC)&lt;br /&gt;
&lt;br /&gt;
Establish a connection to the database, the following code is used if reading from an ODBC data source.&lt;br /&gt;
&lt;br /&gt;
 db &amp;lt;- odbcConnect(db.file) &lt;br /&gt;
&lt;br /&gt;
View the table names in the database.&lt;br /&gt;
&lt;br /&gt;
 sqlTables(db)&lt;br /&gt;
&lt;br /&gt;
View the field (column) names of a specific table.&lt;br /&gt;
&lt;br /&gt;
 sqlColumns(db, table.name)&lt;br /&gt;
&lt;br /&gt;
Query the database, returning data from table gps.uva_tracking_speed_limited, for device_info_serial 1 as dataframe &amp;quot;test&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in R (mac) ==&lt;br /&gt;
&lt;br /&gt;
Here is a very short example that will give an idea of how to connect to the database via the ODBC driver you have just established.&lt;br /&gt;
&lt;br /&gt;
Connect to the database in R with the package RODBC, using your username and password.&lt;br /&gt;
Install the RODBC package and any dependencies&lt;br /&gt;
 install.packages(&amp;quot;RODBC&amp;quot;, dep=T)&lt;br /&gt;
 require(RODBC)&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;user&amp;quot; and &amp;quot;password&amp;quot; with your own username and password provided by SURF:&lt;br /&gt;
 my_username &amp;lt;- &amp;quot;user&amp;quot;&lt;br /&gt;
 my_password &amp;lt;- &amp;quot;password&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Define the connection and connect from within R:&lt;br /&gt;
 l.connstring &amp;lt;- 'DRIVER=PostgreSQL;'&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SERVER=pubserv.e-ecology.nl;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'PORT=5432;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'SSLMODE=require;', sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, 'DATABASE=eecology;', sep = '')&lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;USERNAME=&amp;quot;, my_username, &amp;quot;;&amp;quot;, sep=''), sep = '') &lt;br /&gt;
 l.connstring &amp;lt;- paste(l.connstring, paste(&amp;quot;PASSWORD=&amp;quot;, my_password, &amp;quot;;&amp;quot;, sep='') , sep = '') &lt;br /&gt;
&lt;br /&gt;
 GPS &amp;lt;- odbcDriverConnect(l.connstring, case = &amp;quot;tolower&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
From here you can write SQL queries and retrieve the data through R. Here is an example.&lt;br /&gt;
&lt;br /&gt;
To extract GPS data, remember to replace &amp;lt;insert bird id&amp;gt; with the device serial number of one of your tracked birds: &lt;br /&gt;
 gps_test &amp;lt;- sqlQuery(GPS, query = &amp;quot;SELECT * &lt;br /&gt;
 FROM gps.ee_tracking_speed_limited s  &lt;br /&gt;
 WHERE s.device_info_serial = &amp;lt;insert bird ID&amp;gt;&amp;quot;, as.is=c(2))&lt;br /&gt;
&lt;br /&gt;
==Connecting to the database in Access==&lt;br /&gt;
After completing the steps for setting up an ODBC connection, you can connect to the database via Access. You have two options. One is to import the data; once this is done your database is not automatically updated but does not require a link to the database.&lt;br /&gt;
&lt;br /&gt;
The second option (described below) is to create a dynamic link to the database. (You must be connected to the network.) In this case you are always viewing updated data that is in the actual SURF database. The first set of instructions is for Access 2007-2010, while the second is for the older version of Access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2007-2010'''.&lt;br /&gt;
# Go to '''External data | ODBC Database'''.&lt;br /&gt;
# Select '''Link to the data source by creating a linked table'''. Click OK.&lt;br /&gt;
# In '''Select Data Source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open a new database in '''Access 2003'''.&lt;br /&gt;
# Go to '''File | Get external data | Link tables'''.&lt;br /&gt;
# In '''Files of type''', select '''ODBC databases'''.&lt;br /&gt;
# In '''Select data source''' click on the tab '''Machine Data Source'''.&lt;br /&gt;
# Select the data source name you created when setting up the ODBC connection (e.g. GPS), then click OK.&lt;br /&gt;
# Select the tables you want to import and click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You now have access to your selected tables in the database. Have fun.&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=Connecting_to_the_UvA-BiTS_database&amp;diff=1402</id>
		<title>Connecting to the UvA-BiTS database</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=Connecting_to_the_UvA-BiTS_database&amp;diff=1402"/>
				<updated>2018-02-22T10:43:14Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: moved Connecting to the UvA-BiTS database to How to access the e-Ecology database&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[How to access the e-Ecology database]]&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=E-Ecology_Documentation_and_Guidance&amp;diff=1400</id>
		<title>E-Ecology Documentation and Guidance</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=E-Ecology_Documentation_and_Guidance&amp;diff=1400"/>
				<updated>2018-02-22T10:33:14Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* UvA-BiTS Services */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Last updated: February 2018, Stacy Shinneman&lt;br /&gt;
&lt;br /&gt;
The e-Ecology Virtual Laboratories represent a collaborative effort between the University of Amsterdam Institute for Biodiversity and Ecosystem Dynamics and SURFsara Computing to manage bird tracking data and develop tools for data exploration, analysis and visualization. This wiki is designed to facilitate access to the data and tools within the Virtual Laboratories and to provide a forum for collaboration. &lt;br /&gt;
&lt;br /&gt;
The e-Ecology database contains many different datasets, each of which is contained within its own schema. Prior to 2018, the e-Ecology database was also referred to as the FlySafe database.&lt;br /&gt;
&lt;br /&gt;
== UvA-BiTS Data == &lt;br /&gt;
&lt;br /&gt;
Bird data collected with the UvA-BiTS Bird Tracking System is managed within the gps schema of the e-Ecology database. &lt;br /&gt;
&lt;br /&gt;
Note: We are continually working on improving UvA-BiTS services, including data processing and Virtual Lab functionality. In some cases, this has enabled us to extract more information from old GPS log files which is then incorporated into the database.  These changes may result in slight differences when you reprocess historic data. &lt;br /&gt;
&lt;br /&gt;
::* [[ DB_Views_2015 | e-Ecology UvA-BiTS database for general use (views) ]]&lt;br /&gt;
::* [[ DB_Tables_2015 | e-Ecology UvA-BiTS tables behind the views (not accessible for normal use) ]]&lt;br /&gt;
::* [[Setting up a connection to the e-Ecology database]]&lt;br /&gt;
::* [[Useful Queries]]&lt;br /&gt;
&lt;br /&gt;
==UvA-BiTS Services==&lt;br /&gt;
&lt;br /&gt;
* Visualization Tools&lt;br /&gt;
&lt;br /&gt;
:: [[KMZ Generator|UvA-BiTS KMZ Generator]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::Produces kmz files of UvA-BiTS bird tracking data to be viewed in Google Earth. &lt;br /&gt;
:: [[Tracker Calendar]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::Calendar overview with daily statistics of GPS-tracker&lt;br /&gt;
:: [[Flight Generator]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::This tool produces GPX files from UvA-BiTS tracking data for dynamic [http://www.doarama.com Doarama] visualizations.&lt;br /&gt;
:: [[BirdView]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::Access meterological and radar data and overlay with GPS bird tracking data. ''This service is currently not available.''&lt;br /&gt;
:: [[BirdSim]]:  &amp;lt;br/ &amp;gt;&lt;br /&gt;
:::More dynamic version of BirdView that allows the user to scroll through weather data in time and space. ''This service is currently not available.''&lt;br /&gt;
&lt;br /&gt;
* [[Dashboard]]:   These web pages allow UvA-BiTS users to get an overview of the raw data files of GPS bird tracking devices they have access to and to access the dashboard for administering projects. &lt;br /&gt;
&lt;br /&gt;
* [[ Annotation tables ]] for uploading GPS annotation data into your own schema and sharing your tables with other users. ''This service is currently not available.''&lt;br /&gt;
* [[ SMS tables ]] for storage of SMS messages send by trackers.&lt;br /&gt;
* [[ CartoDB ]] usage and limitation of CartoDB server&lt;br /&gt;
&lt;br /&gt;
== Changes to the UvA-BiTS data model in 2014 ==&lt;br /&gt;
'''Important'''&lt;br /&gt;
In the summer of 2014 we have '''re-arranged the administrative''' part of UvA-BiTS (and e-Ecology) in the database. End users may have to adapt their programs the following way:&lt;br /&gt;
:* The '''uva_*_limited''' views that used to exist in the gps schema are gone. Most of them should have been replaced with an equivalent '''ee_*_limited counterpart'''.&lt;br /&gt;
:* The new ee_*_limited views show a superset of the same information as before, but enhanced with new project information.&lt;br /&gt;
:* Some '''column names''' in the ee_*_limited views may differ from the previous views.&lt;br /&gt;
:* There are new limited views: &lt;br /&gt;
:** gps.ee_'''project'''_limited: shows your projects' information&lt;br /&gt;
:** gps.ee_'''shared'''_*_limited: set of data you are able to see related to trackers that a project is sharing with a project you belong to&lt;br /&gt;
:* Special attention: gps.uva_device_limited is now replaced by '''gps.ee_tracker_limited'''. For each tracker, you now see which project provides you access to that tracker.&lt;br /&gt;
:* Also, '''gps.uva_tracking_limited''' is gone. Instead of that we have gps.ee_tracker_speed_limited, which adds speed columns to the original data. This amounts to a merger of gps.ee_tracking_limited, gps.ee_tracking_speed_3d_limited and gps.ee_tracking_speed_limited.&lt;br /&gt;
:* [[ UvAGPS|UvA-BiTS Data Model]] - OLD&lt;br /&gt;
&lt;br /&gt;
==Other e-Ecology Datasets==&lt;br /&gt;
&lt;br /&gt;
'''ENVIRONMENTAL DATA'''&lt;br /&gt;
&lt;br /&gt;
::* [[ Elevation|Elevation Data ]]&lt;br /&gt;
::* [[ ECMWF|Weather Forecast Data (ECMWF)]] Restricted to FlySafe users.&lt;br /&gt;
&lt;br /&gt;
'''FLYSAFE'''&lt;br /&gt;
&lt;br /&gt;
:Data related to European Space Agency FlySafe project. Financed by the Royal Netherlands Air Force. &lt;br /&gt;
&lt;br /&gt;
::* [[Argos Data Model|Argos GPS Data Model]]&lt;br /&gt;
::* [[ RADAR|Radar Data Model]]&lt;br /&gt;
::* [[ Wind profile|Wind Profile Data Model]]&lt;br /&gt;
::* [[Setting up a connection to the e-Ecology database]]&lt;br /&gt;
&lt;br /&gt;
==Other e-Ecology Services==&lt;br /&gt;
[[e-Ecology GPS Bird Track Generator]]: Produce kmz files of ARGOS/GPS bird tracking data from the FlySafe project to be viewed in Google Earth. &lt;br /&gt;
&lt;br /&gt;
[[ Administration]]: Information about user rights and data processing tasks.&lt;br /&gt;
&lt;br /&gt;
[[ Bookkeeping]]: Description of tables related to e-Ecology data processing and archiving.&lt;br /&gt;
&lt;br /&gt;
[[ ToDo ]]&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=ECMWF&amp;diff=1399</id>
		<title>ECMWF</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=ECMWF&amp;diff=1399"/>
				<updated>2018-02-22T10:26:17Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* Historical data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ECMWF == &lt;br /&gt;
&lt;br /&gt;
Datamodel for the tables in the ECMWF schema. &lt;br /&gt;
&lt;br /&gt;
Data is created by the ECMWF and retrieved from the KNMI ftp site as GRIB files. The original GRIB files can also be  retrieved from the Flysafe server from :&lt;br /&gt;
&lt;br /&gt;
[https://flysafe-pps.grid.sara.nl/archive/knmi/ecmwf/ ECMWF Data Archive]&lt;br /&gt;
&lt;br /&gt;
More information about the parameters in these GRIB files can be retrieved from the [http://www.ecmwf.int/services/dissemination/3.1/Products_in_GRIB_code.html ECMWF website].&lt;br /&gt;
&lt;br /&gt;
== INVARIABLE == &lt;br /&gt;
&lt;br /&gt;
The INVARIABLE table contains data that is invariant over time. &lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
|'''LATITUDE''' || degrees * 100 to make this a integer&lt;br /&gt;
|-&lt;br /&gt;
|'''LONGITUDE''' || degrees * 100 to make this a integer&lt;br /&gt;
|-&lt;br /&gt;
|Z || 129 Z Geopotential surface/model orography 				&lt;br /&gt;
|-&lt;br /&gt;
|LSM || 172 LSM	Land sea mask				&lt;br /&gt;
|-&lt;br /&gt;
|LOCATION || Latitude/longitude as GIS location  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The GIS LOCATION is only added to this table. This is because always the same values for latitude and  longitude are used and then if the GIS location is required for the ANALYSIS or FORECAST tables it can be retrieved by joining to this table on the LATITUDE, LONGUTUDE fields.&lt;br /&gt;
&lt;br /&gt;
== FORECAST and UVA_FORECAST == &lt;br /&gt;
&lt;br /&gt;
The FORECAST table contains predicted values in steps of 3 hours till 72 hours ahead. The MODELTS is the timestamp for which this prediction applies. Two times a day new Forecast GRIB files will arrive. The newer FORECAST data that arrives for the same timestamp will overwrite the older data.&lt;br /&gt;
&lt;br /&gt;
The FORECAST (and UVA_FORECAST) table itself is a master table that does not contain any data. The inherited tables &lt;br /&gt;
FORECAST&amp;lt;YEAR&amp;gt;&amp;lt;MONTH&amp;gt; contain the data, but the master FORECAST or UVA_FORECAST table can be used to SELECT the data. &lt;br /&gt;
&lt;br /&gt;
Data till 2009-09 is owned by the UvA and can be accessed by anybody with ECMWF_READ rights by using the FORECAST_UVA table. The FORECAST table itself also references data after 2009-09 that is owned by RNLAF for which special access rights ECMWF_RNLAF_READ are required. &lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
|'''MODELTS'''||Time for which this forecast applies = model run + step hours&lt;br /&gt;
|-&lt;br /&gt;
|'''LATITUDE'''||degrees * 100 to make this a integer&lt;br /&gt;
|-&lt;br /&gt;
|'''LONGITUDE'''||degrees * 100 to make this a integer&lt;br /&gt;
|-&lt;br /&gt;
|STEP||model step (smaller is more recent forecast)&lt;br /&gt;
|-&lt;br /&gt;
|SSRD||169 SSRD	surface solar radiation downwards accumulated			&lt;br /&gt;
|-&lt;br /&gt;
|TP||228 TP	total precipitation accumulated			&lt;br /&gt;
|-&lt;br /&gt;
|SP||134 SP	surface pressure		&lt;br /&gt;
|-&lt;br /&gt;
|BLH||159 BLH	boundary layer height		&lt;br /&gt;
|-&lt;br /&gt;
|TCC||164 TCC	total cloud coverage		&lt;br /&gt;
|-&lt;br /&gt;
|U10||165 10U	10 meters wind U-component m/s		&lt;br /&gt;
|-&lt;br /&gt;
|V10||166 10V	10 meters wind V-component	 m/s	&lt;br /&gt;
|-&lt;br /&gt;
|T2||167 2T	2 metres air temperature		&lt;br /&gt;
|-&lt;br /&gt;
|D2||168 2D	2 metres dew point temperature		&lt;br /&gt;
|-&lt;br /&gt;
|LCC||186 LCC	low cloud coverage		&lt;br /&gt;
|-&lt;br /&gt;
|''Pressure level 1000''||&lt;br /&gt;
|-&lt;br /&gt;
|T_1000||130 T	temperature	&lt;br /&gt;
|-&lt;br /&gt;
|U_1000||131 U	U-wind component	&lt;br /&gt;
|-&lt;br /&gt;
|V_1000||132 V	V-wind component	&lt;br /&gt;
|-&lt;br /&gt;
|GH_1000||156 GH	geopotential height	&lt;br /&gt;
|-&lt;br /&gt;
|R_1000||157 R	relative humidity	&lt;br /&gt;
|-&lt;br /&gt;
|''Pressure level 925''||&lt;br /&gt;
|-&lt;br /&gt;
|T_925 real||130 T	temperature	&lt;br /&gt;
|-&lt;br /&gt;
|U_925 real||131 U	U-wind component	&lt;br /&gt;
|-&lt;br /&gt;
|V_925 real||132 V	V-wind component	&lt;br /&gt;
|-&lt;br /&gt;
|GH_925 real||156 GH	geopotential height	&lt;br /&gt;
|-&lt;br /&gt;
|R_925 real||157 R	relative humidity	&lt;br /&gt;
|-&lt;br /&gt;
|''Pressure level 850''||&lt;br /&gt;
|-&lt;br /&gt;
|T_850||130 T	temperature	&lt;br /&gt;
|-&lt;br /&gt;
|U_850 real||131 U	U-wind component	&lt;br /&gt;
|-&lt;br /&gt;
|V_850 real||132 V	V-wind component	&lt;br /&gt;
|-&lt;br /&gt;
|GH_850 real||156 GH	geopotential height	&lt;br /&gt;
|-&lt;br /&gt;
|R_850 real||157 R	relative humidity	&lt;br /&gt;
|-&lt;br /&gt;
|''Pressure level 700''||&lt;br /&gt;
|-&lt;br /&gt;
|T_700 real||130 T	temperature	&lt;br /&gt;
|-&lt;br /&gt;
|U_700 real||131 U	U-wind component	&lt;br /&gt;
|-&lt;br /&gt;
|V_700 real||132 V	V-wind component	&lt;br /&gt;
|-&lt;br /&gt;
|GH_700 real||156 GH	geopotential height	&lt;br /&gt;
|-&lt;br /&gt;
|R_700 real||157 R	relative humidity	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ANALYSIS and UVA_ANALYSIS ==&lt;br /&gt;
&lt;br /&gt;
The ANALYSIS and UVA_ANALYSIS table contains values from the Analysis GRIB files at 18, 00, 06 and 12 UTC&lt;br /&gt;
&lt;br /&gt;
Data till 2009-09 is owned by the UvA and can be accessed by anybody with ECMWF_READ rights by using the ANALYSIS_UVA table. The ANALYSIS table itself also references data after 2009-09 that is owned by RNLAF for which special access rights ECMWF_RNLAF_READ are required. &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
{|border=1&lt;br /&gt;
|'''MODELTS'''||Time for which this forecast applies = model run&lt;br /&gt;
|-&lt;br /&gt;
|'''LATITUDE'''||degrees * 100 to make this a integer&lt;br /&gt;
|-&lt;br /&gt;
|'''LONGITUDE'''||degrees * 100 to make this a integer&lt;br /&gt;
|-&lt;br /&gt;
|SP||134 SP	surface pressure		&lt;br /&gt;
|-&lt;br /&gt;
|TCC||164 TCC	total cloud coverage		&lt;br /&gt;
|-&lt;br /&gt;
|U10||165 10U	10 meters wind U-component		&lt;br /&gt;
|-&lt;br /&gt;
|V10||166 10V	10 meters wind V-component		&lt;br /&gt;
|-&lt;br /&gt;
|T2||167 2T	2 metres air temperature		&lt;br /&gt;
|-&lt;br /&gt;
|D2||168 2D	2 metres dew point temperature		&lt;br /&gt;
|-&lt;br /&gt;
|LCC||186 LCC	low cloud coverage		&lt;br /&gt;
|-&lt;br /&gt;
|''Pressure level 1000''||&lt;br /&gt;
|-&lt;br /&gt;
|T_1000||130 T	temperature	&lt;br /&gt;
|-&lt;br /&gt;
|U_1000||131 U	U-wind component	&lt;br /&gt;
|-&lt;br /&gt;
|V_1000||132 V	V-wind component	&lt;br /&gt;
|-&lt;br /&gt;
|GH_1000||156 GH	geopotential height	&lt;br /&gt;
|-&lt;br /&gt;
|R_1000||157 R	relative humidity	&lt;br /&gt;
|-&lt;br /&gt;
|Pressure level 925||&lt;br /&gt;
|-&lt;br /&gt;
|T_925||130 T	temperature	&lt;br /&gt;
|-&lt;br /&gt;
|U_925||131 U	U-wind component	&lt;br /&gt;
|-&lt;br /&gt;
|V_925||132 V	V-wind component	&lt;br /&gt;
|-&lt;br /&gt;
|GH_925||156 GH	geopotential height	&lt;br /&gt;
|-&lt;br /&gt;
|R_925||157 R	relative humidity	&lt;br /&gt;
|-&lt;br /&gt;
|Pressure level 850||&lt;br /&gt;
|-&lt;br /&gt;
|T_850||130 T	temperature	&lt;br /&gt;
|-&lt;br /&gt;
|U_850||131 U	U-wind component	&lt;br /&gt;
|-&lt;br /&gt;
|V_850||132 V	V-wind component	&lt;br /&gt;
|-&lt;br /&gt;
|GH_850||156 GH	geopotential height	&lt;br /&gt;
|-&lt;br /&gt;
|R_850||157 R	relative humidity	&lt;br /&gt;
|-&lt;br /&gt;
|Pressure level 700||&lt;br /&gt;
|-&lt;br /&gt;
|T_700||130 T	temperature	&lt;br /&gt;
|-&lt;br /&gt;
|U_700||131 U	U-wind component	&lt;br /&gt;
|-&lt;br /&gt;
|V_700||132 V	V-wind component	&lt;br /&gt;
|-&lt;br /&gt;
|GH_700||156 GH	geopotential height	&lt;br /&gt;
|-&lt;br /&gt;
|R_700||157 R	relative humidity&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== COMBINED == &lt;br /&gt;
&lt;br /&gt;
If you want to use Analysis data if available for a timestimp but otherwise Forecast, the COMBINED VIEW can be used. If a ANALYSIS value is available for a timestamp and latitude/longitude the ANALYSIS value will be used, otherwise the FORECAST value is given.&lt;br /&gt;
&lt;br /&gt;
== Historical data == &lt;br /&gt;
&lt;br /&gt;
In addition ongoing process of adding ECMWF data since November 11 2007, a historical data set has been loaded.  That historical dataset is stored in additional inherited tables FORECASTHISTORY and&lt;br /&gt;
ANALYSISHISTORY which inherit from FORECAST and ANALYSIS respectively. &lt;br /&gt;
&lt;br /&gt;
The FORECASTHISTORY does not always contain TP (228 TP total precipitation accumulated).  Instead, it contains the following values:&lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
|LSP||142 LSP Large scale precipitation&lt;br /&gt;
|-&lt;br /&gt;
|CP||143 CP Convective precipitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The historical dat sets span the following periods and locations &lt;br /&gt;
&lt;br /&gt;
{|border=1 &lt;br /&gt;
|'''Start'''||'''End'''||'''Area'''||'''Grid'''&lt;br /&gt;
|-&lt;br /&gt;
|2007-01-01||2007-11-15||62degN 10degW 335degN 20degE||0.25x0.25deg&lt;br /&gt;
|-&lt;br /&gt;
|2003-02-15||2003-06-15||62degN 10degW 335degN 20degE||0.5x0.5deg&lt;br /&gt;
|-&lt;br /&gt;
|2005-01-01||2006-12-31||62degN 10degW 335degN 20degE||0.5x0.5deg&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Helpful Functions &amp;amp; Queries == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following functions have been defined in Postgres to select the nearest gridpoint in spacetime for the ECMWF analysis and forecast tables. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are '''ecmwf.forecast_nearest''' and '''ecmwf.analysis_nearest''' and they take a latitude, longitude and timestamp as parameter. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
They can be used in the following way, which will return all the fields in the relevant ECMWF data:&lt;br /&gt;
&lt;br /&gt;
  SELECT * FROM ecmwf.forecast_nearest( 52.35983, 5.615, timestamp '2008-05-19 13:34:00');&lt;br /&gt;
   &lt;br /&gt;
  SELECT * FROM ecmwf.analysis_nearest( 52.35983, 5.615, timestamp '2008-05-19 13:34:00');&lt;br /&gt;
&lt;br /&gt;
Note that the model latitude and model longitude are returned as integers and multiples of 100.  To return latititude and longitude as a decimal (for example to compare to the latitude and longitude of your GPS data) you need to first convert these fields to decimals:&lt;br /&gt;
&lt;br /&gt;
  SELECT f.latitude/100::decimal, f.longitude/100::decimal&lt;br /&gt;
  FROM ecmwf.forecast_nearest( 52.35983, 5.615, timestamp '2008-05-19 13:34:00') f;&lt;br /&gt;
&lt;br /&gt;
These function can for example be used in a join as follows :&lt;br /&gt;
&lt;br /&gt;
  SELECT g.device_info_serial&lt;br /&gt;
       , g.date_time&lt;br /&gt;
       , g.latitude&lt;br /&gt;
       , g.longitude&lt;br /&gt;
       , g.speed_2d&lt;br /&gt;
       , g.altitude&lt;br /&gt;
       , (ecmwf.forecast_nearest( g.latitude, g.longitude,g.date_time)).*&lt;br /&gt;
  FROM gps.ee_tracking_speed_limited g&lt;br /&gt;
  WHERE g.device_info_serial = 1 &lt;br /&gt;
    AND g.latitude &amp;lt;&amp;gt; 0&lt;br /&gt;
    AND g.userflag = 0&lt;br /&gt;
  ORDER BY g.date_time;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Although these functions were converted to PLPgSQL to speed them up, a faster ways to retrieve the same data is with (thanks to Floris Sluiters): &lt;br /&gt;
&lt;br /&gt;
  SELECT device_info_serial, date_time, latitude, longitude, speed_2d, altitude, (x::ecmwf.forecast).*&lt;br /&gt;
  FROM (SELECT &lt;br /&gt;
       g.*&lt;br /&gt;
       ,((SELECT f &lt;br /&gt;
            FROM ecmwf.forecast f&lt;br /&gt;
           WHERE f.latitude = round(g.latitude * 100 / 25)::integer * 25&lt;br /&gt;
             AND f.longitude =  round(g.longitude * 100 / 25)::integer * 25&lt;br /&gt;
             AND f.modelts = TIMESTAMP 'epoch' + round(EXTRACT(EPOCH FROM g.date_time) &lt;br /&gt;
                 / (60*60*3))::integer * INTERVAL '3 hours' limit 1)::ecmwf.forecast) as x &lt;br /&gt;
        FROM   gps.ee_tracking_speed_limited g&lt;br /&gt;
        WHERE g.device_info_serial = 1 &lt;br /&gt;
             AND g.latitude &amp;lt;&amp;gt; 0&lt;br /&gt;
             AND g.userflag = 0&lt;br /&gt;
          ORDER BY g.date_time) t&lt;br /&gt;
&lt;br /&gt;
Below is example query that retrieves data for a model grid point closest to user provided coordinates and for one model time stamp (eg. 12:00) for a series of consecutive days&lt;br /&gt;
&lt;br /&gt;
  SELECT f.modelts, f.latitude, f.longitude, f.blh&lt;br /&gt;
  FROM ecmwf.forecast as f&lt;br /&gt;
  WHERE f.latitude = round(42.718104*100/25)::integer*25 AND f.longitude = round(11.517727*100/25)::integer*25 and &lt;br /&gt;
    f.modelts &amp;gt;= '2007-08-01 12:00' and f.modelts &amp;lt;= '2008-08-01 12:00' and date_part('hour', f.modelts) = 12&lt;br /&gt;
  ORDER BY f.modelts   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Interpolation ===&lt;br /&gt;
&lt;br /&gt;
The following functions are added so that simple linear interpolation for a specific point in space and time can be done in Postgres. &lt;br /&gt;
&lt;br /&gt;
These are '''ecmwf.forecast_interpolate''' and '''ecmwf.analysis_interpolate''' and they take a latitude, longitude and timestamp as parameter. &lt;br /&gt;
&lt;br /&gt;
They can be used in the same way:&lt;br /&gt;
&lt;br /&gt;
  select * from ecmwf.forecast_interpolate( 52.35983, 5.615, timestamp '2008-05-19 13:34:00');&lt;br /&gt;
   &lt;br /&gt;
  select * from ecmwf.analysis_interpolate( 52.35983, 5.615, timestamp '2008-05-19 13:34:00');&lt;br /&gt;
&lt;br /&gt;
And they can also be used in joins as above. These functions select the 8 surrounding points in latitude, longitude and date_time and interpolate linear in latitude, longitude and date_time successively. The '''interpolate''' functions are much slower then the '''nearest''' functions.&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=E-Ecology_Documentation_and_Guidance&amp;diff=1398</id>
		<title>E-Ecology Documentation and Guidance</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=E-Ecology_Documentation_and_Guidance&amp;diff=1398"/>
				<updated>2018-02-22T10:25:14Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* Changes to the UvA-BiTS data model in 2014 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Last updated: February 2018, Stacy Shinneman&lt;br /&gt;
&lt;br /&gt;
The e-Ecology Virtual Laboratories represent a collaborative effort between the University of Amsterdam Institute for Biodiversity and Ecosystem Dynamics and SURFsara Computing to manage bird tracking data and develop tools for data exploration, analysis and visualization. This wiki is designed to facilitate access to the data and tools within the Virtual Laboratories and to provide a forum for collaboration. &lt;br /&gt;
&lt;br /&gt;
The e-Ecology database contains many different datasets, each of which is contained within its own schema. Prior to 2018, the e-Ecology database was also referred to as the FlySafe database.&lt;br /&gt;
&lt;br /&gt;
== UvA-BiTS Data == &lt;br /&gt;
&lt;br /&gt;
Bird data collected with the UvA-BiTS Bird Tracking System is managed within the gps schema of the e-Ecology database. &lt;br /&gt;
&lt;br /&gt;
Note: We are continually working on improving UvA-BiTS services, including data processing and Virtual Lab functionality. In some cases, this has enabled us to extract more information from old GPS log files which is then incorporated into the database.  These changes may result in slight differences when you reprocess historic data. &lt;br /&gt;
&lt;br /&gt;
::* [[ DB_Views_2015 | e-Ecology UvA-BiTS database for general use (views) ]]&lt;br /&gt;
::* [[ DB_Tables_2015 | e-Ecology UvA-BiTS tables behind the views (not accessible for normal use) ]]&lt;br /&gt;
::* [[Setting up a connection to the e-Ecology database]]&lt;br /&gt;
::* [[Useful Queries]]&lt;br /&gt;
&lt;br /&gt;
==UvA-BiTS Services==&lt;br /&gt;
&lt;br /&gt;
* Visualization Tools&lt;br /&gt;
&lt;br /&gt;
:: [[KMZ Generator|UvA-BiTS KMZ Generator]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::Produces kmz files of UvA-BiTS bird tracking data to be viewed in Google Earth. &lt;br /&gt;
:: [[Tracker Calendar]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::Calendar overview with daily statistics of GPS-tracker&lt;br /&gt;
:: [[Flight Generator]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::This tool produces GPX files from UvA-BiTS tracking data for dynamic [http://www.doarama.com Doarama] visualizations.&lt;br /&gt;
:: [[BirdView]]: &amp;lt;br /&amp;gt;&lt;br /&gt;
:::Access meterological and radar data and overlay with GPS bird tracking data. ''This service is currently not available.''&lt;br /&gt;
:: [[BirdSim]]:  &amp;lt;br/ &amp;gt;&lt;br /&gt;
:::More dynamic version of BirdView that allows the user to scroll through weather data in time and space. ''This service is currently not available.''&lt;br /&gt;
&lt;br /&gt;
* [[Dashboard]]:   These web pages allow UvA-BiTS users to get an overview of the raw data files of GPS bird tracking devices they have access to and to access the dashboard for administering projects. &lt;br /&gt;
&lt;br /&gt;
* [[ Annotation tables ]] for uploading GPS annotation data into your own schema. ''This service is currently not available.''&lt;br /&gt;
* [[ SMS tables ]] for storage of SMS messages send by trackers.&lt;br /&gt;
* [[ CartoDB ]] usage and limitation of CartoDB server&lt;br /&gt;
&lt;br /&gt;
== Changes to the UvA-BiTS data model in 2014 ==&lt;br /&gt;
'''Important'''&lt;br /&gt;
In the summer of 2014 we have '''re-arranged the administrative''' part of UvA-BiTS (and e-Ecology) in the database. End users may have to adapt their programs the following way:&lt;br /&gt;
:* The '''uva_*_limited''' views that used to exist in the gps schema are gone. Most of them should have been replaced with an equivalent '''ee_*_limited counterpart'''.&lt;br /&gt;
:* The new ee_*_limited views show a superset of the same information as before, but enhanced with new project information.&lt;br /&gt;
:* Some '''column names''' in the ee_*_limited views may differ from the previous views.&lt;br /&gt;
:* There are new limited views: &lt;br /&gt;
:** gps.ee_'''project'''_limited: shows your projects' information&lt;br /&gt;
:** gps.ee_'''shared'''_*_limited: set of data you are able to see related to trackers that a project is sharing with a project you belong to&lt;br /&gt;
:* Special attention: gps.uva_device_limited is now replaced by '''gps.ee_tracker_limited'''. For each tracker, you now see which project provides you access to that tracker.&lt;br /&gt;
:* Also, '''gps.uva_tracking_limited''' is gone. Instead of that we have gps.ee_tracker_speed_limited, which adds speed columns to the original data. This amounts to a merger of gps.ee_tracking_limited, gps.ee_tracking_speed_3d_limited and gps.ee_tracking_speed_limited.&lt;br /&gt;
:* [[ UvAGPS|UvA-BiTS Data Model]] - OLD&lt;br /&gt;
&lt;br /&gt;
==Other e-Ecology Datasets==&lt;br /&gt;
&lt;br /&gt;
'''ENVIRONMENTAL DATA'''&lt;br /&gt;
&lt;br /&gt;
::* [[ Elevation|Elevation Data ]]&lt;br /&gt;
::* [[ ECMWF|Weather Forecast Data (ECMWF)]] Restricted to FlySafe users.&lt;br /&gt;
&lt;br /&gt;
'''FLYSAFE'''&lt;br /&gt;
&lt;br /&gt;
:Data related to European Space Agency FlySafe project. Financed by the Royal Netherlands Air Force. &lt;br /&gt;
&lt;br /&gt;
::* [[Argos Data Model|Argos GPS Data Model]]&lt;br /&gt;
::* [[ RADAR|Radar Data Model]]&lt;br /&gt;
::* [[ Wind profile|Wind Profile Data Model]]&lt;br /&gt;
::* [[Setting up a connection to the e-Ecology database]]&lt;br /&gt;
&lt;br /&gt;
==Other e-Ecology Services==&lt;br /&gt;
[[e-Ecology GPS Bird Track Generator]]: Produce kmz files of ARGOS/GPS bird tracking data from the FlySafe project to be viewed in Google Earth. &lt;br /&gt;
&lt;br /&gt;
[[ Administration]]: Information about user rights and data processing tasks.&lt;br /&gt;
&lt;br /&gt;
[[ Bookkeeping]]: Description of tables related to e-Ecology data processing and archiving.&lt;br /&gt;
&lt;br /&gt;
[[ ToDo ]]&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=RADAR&amp;diff=1397</id>
		<title>RADAR</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=RADAR&amp;diff=1397"/>
				<updated>2018-02-22T10:23:58Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Description of tables in RADAR schema in e-Ecology database ===&lt;br /&gt;
&lt;br /&gt;
Data model for Motion Analyses images collected with ROBIN-system for the Medium Power Radar&lt;br /&gt;
&lt;br /&gt;
Originally Hans van Gasteren, May 2007&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Radar data are one of the most important measurements in Bird Avoidance System (BAS) and FlySafe project. Until now data are archived in structured files instead of in a database. In this document data model for Motion Analysis images of the ROBIN4 system is designed, based on file structure of ROBIN4-MA images as defined in High Level Design Document of ROBIN4 (HLDD, TNO 2006).&lt;br /&gt;
MA (Motion Analysis) images are summated images of ten radar antenna rotations and are recorded twice per hour, two radar beams per radar, 3 radars in total (equalling 12 images per hour). &lt;br /&gt;
The data comprise all recorded radar echoes with summated intensities, plus rain clutter masks, land clutter masks and all separate objects of all recognised tracks. The huge amount of data per image (360°, 150km range, 10Mb) require a flexible database. Numbers of tracks can be as high as 15.000 tracks per image, with a mean about 1000 tracks. Per day we collect 48 images * 2 beams * 10Mb * 3 radars equipped with Robin 3Gb data.&lt;br /&gt;
Because the database must be readily and speedily accessible, only aggregated data can be recorded in the database. Original data will have to be recorded in a file system. The level of aggregation is still under debate, as the database should also allow a certain level of reanalysis. It is not desirable to store all original recorded echoes and raw radar data, which are the bulk of the data, in the database. Because the number of tracks is rather low (1000) for most of the images, it may be sufficient to store summaries of each track. This will lead to an estimated data reduction of 90%.&lt;br /&gt;
In the near future, already during precursor phase of FlySafe project, bird echo tracks will be recorded continuously. This means that if we want to store individual tracks, also positions of each antenna rotation is stored and database could be increasing much faster than it does now.&lt;br /&gt;
&lt;br /&gt;
=Data model for MA images collected by ROBIN4 system .=&lt;br /&gt;
&lt;br /&gt;
== RADAR ==&lt;br /&gt;
&lt;br /&gt;
The radar table contains details for the different radars. &lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
|'''RADAR_ID'''||unique radar id&lt;br /&gt;
|-&lt;br /&gt;
|RADAR_NAME||logical name&lt;br /&gt;
|-&lt;br /&gt;
|LATITUDE||degrees&lt;br /&gt;
|-&lt;br /&gt;
|LONGITUDE||degrees&lt;br /&gt;
|-&lt;br /&gt;
|X_POSITION||in meters, rijksdriehoekmeting&lt;br /&gt;
|-&lt;br /&gt;
|Y_POSITION||in meters, rijksdriehoekmeting&lt;br /&gt;
|-&lt;br /&gt;
|Z_POSITION||In meters, rijksdriehoekmeting&lt;br /&gt;
|-&lt;br /&gt;
|ALTITUDE_ANTENNA||In meters with respect to sea level&lt;br /&gt;
|-&lt;br /&gt;
|Radar type:||&lt;br /&gt;
|-&lt;br /&gt;
|MIN_RANGE||In meters&lt;br /&gt;
|-&lt;br /&gt;
|MAX_RANGE||In meters&lt;br /&gt;
|-&lt;br /&gt;
|RANGE_RESOLUTION||In meters, normal MPR 30m&lt;br /&gt;
|-&lt;br /&gt;
|AZIMUTH_RESOLUTION|| In radials azimuth if horizontal radar else elevation&lt;br /&gt;
|-&lt;br /&gt;
|REVOLUTION_TIME||In seconds, normal MPR 10s&lt;br /&gt;
|-&lt;br /&gt;
|Transmitter:|| &lt;br /&gt;
|-&lt;br /&gt;
|MEAN_CARRIER_FREQUENCY||In GigaHz&lt;br /&gt;
|-&lt;br /&gt;
|PEAK_POWER||In dB&lt;br /&gt;
|-&lt;br /&gt;
|PULSE_LENGTH||In μS&lt;br /&gt;
|-&lt;br /&gt;
|PULSE_REPETITION_FREQUENCY||In Hz&lt;br /&gt;
|-&lt;br /&gt;
|Antenna:||&lt;br /&gt;
|-&lt;br /&gt;
|TYPE||circ, rectangular, omni&lt;br /&gt;
|-&lt;br /&gt;
|VERTICAL_ILLUMINATION||uniform, parabolic, parabolic², cosec²&lt;br /&gt;
|-&lt;br /&gt;
|POLARISATION||(horizontal, vertical, circular)&lt;br /&gt;
|-&lt;br /&gt;
|TRANSMITTER_GAIN||In dB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==COVERAGE_DIAGRAM==&lt;br /&gt;
&lt;br /&gt;
(for each azimuth horizontal elevation is given).&lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
|'''RADAR_ID'''||Reference to RADAR_ID of table RADAR&lt;br /&gt;
|-&lt;br /&gt;
|'''COVDIAG_ID'''||&lt;br /&gt;
|-&lt;br /&gt;
|AZIMUTH||Radians (0-2PI)&lt;br /&gt;
|-&lt;br /&gt;
|ELEVATION||Radians&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==BEAM==&lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
|'''RADAR_ID'''||Reference to RADAR_ID of table RADAR &lt;br /&gt;
|-&lt;br /&gt;
|'''BEAM_ID'''||&lt;br /&gt;
|-&lt;br /&gt;
|BEAM_NAME||&lt;br /&gt;
|-&lt;br /&gt;
|BEAM_ELEVATION||Elevation of beam (radians)&lt;br /&gt;
|-&lt;br /&gt;
|EL_BEAMWIDTH||Beam width (radians) in elevation&lt;br /&gt;
|-&lt;br /&gt;
|AZ_BEAMWIDTH||Beam width (radians) in azimuth&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==IMAGE_REQUEST==&lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
|'''RADAR_ID'''||Reference to RADAR_ID of table RADAR &lt;br /&gt;
|-&lt;br /&gt;
|'''BEAM_ID'''||Reference to BEAM_ID of table BEAM&lt;br /&gt;
|-&lt;br /&gt;
|'''IMAGE_REQUEST_ID'''||&lt;br /&gt;
|-&lt;br /&gt;
|WINDOW_MIN_RANGE||Measurement range (m) of window&lt;br /&gt;
|-&lt;br /&gt;
|WINDOW_MAX_RANGE||meters&lt;br /&gt;
|-&lt;br /&gt;
|WINDOW_MIN_AZIMUTH||radials&lt;br /&gt;
|-&lt;br /&gt;
|WINDOW_MAX_AZIMUTH||radials&lt;br /&gt;
|-&lt;br /&gt;
|Motion_analysis_parameters||Note: for CMA different&lt;br /&gt;
|-&lt;br /&gt;
|RAIN_CLUTTER_MODE||Automatic, off, on&lt;br /&gt;
|-&lt;br /&gt;
|LAND_CLUTTER_MODE||Automatic, off, on&lt;br /&gt;
|-&lt;br /&gt;
|DETECTION_METHOD||Peak detection, threshold&lt;br /&gt;
|-&lt;br /&gt;
|MIN_TRACK_MEMBERS||2 ..10&lt;br /&gt;
|-&lt;br /&gt;
|ALLOWED_INTERVAL||0..9&lt;br /&gt;
|-&lt;br /&gt;
|MIN_MEMBER_SIZE||1..?&lt;br /&gt;
|-&lt;br /&gt;
|MIN_SPEED||5..50&lt;br /&gt;
|-&lt;br /&gt;
|MAX_SPEED||5..50&lt;br /&gt;
|-&lt;br /&gt;
|ALLOWED_SPEED_DEFLECTION||5..50&lt;br /&gt;
|-&lt;br /&gt;
|TANGENTIA_SPEED_DEVIATION||… part of score function&lt;br /&gt;
|-&lt;br /&gt;
|RADIAL_SPEED_DEVIATION||… part of score function&lt;br /&gt;
|-&lt;br /&gt;
|MASS_DEVIATION||… part of score function&lt;br /&gt;
|-&lt;br /&gt;
|BONUS_SCORE_PROBABILITY||… part of score function&lt;br /&gt;
|-&lt;br /&gt;
|PATH_FRACTION_THRESHOLD||… part of score function&lt;br /&gt;
|-&lt;br /&gt;
|RELAXATION_FACTOR||0.0..1.0 … part of score function&lt;br /&gt;
|-&lt;br /&gt;
|RANGE_RESOLUTION||Correction with respect to default range resolution&lt;br /&gt;
|-&lt;br /&gt;
|AZIMUTH_RESOLUTION||Correction with respect to default azimuth resolution&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==SUBWINDOW==&lt;br /&gt;
&lt;br /&gt;
The subwindow table specifies size and location of subwindows&lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
|'''RADAR_ID'''||Reference to RADAR_ID of table RADAR &lt;br /&gt;
|-&lt;br /&gt;
|'''BEAM_ID'''||Reference to BEAM_ID of table BEAM&lt;br /&gt;
|-&lt;br /&gt;
|'''IMAGE_REQUEST_ID'''||Reference to IMAGE_REQUEST_ID of table IMAGE_REQUEST&lt;br /&gt;
|-&lt;br /&gt;
|'''SUBWINDOW_ID'''||&lt;br /&gt;
|-&lt;br /&gt;
|SUBWINDOW_MIN_RANGE||meters&lt;br /&gt;
|-&lt;br /&gt;
|SUBWINDOW_MAX_RANGE||meters&lt;br /&gt;
|-&lt;br /&gt;
|SUBWINDOW_MIN_AZIMUTH||radials&lt;br /&gt;
|-&lt;br /&gt;
|SUBWINDOW_MAX_AZIMUTH||radials&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==IMAGE_RESULT==&lt;br /&gt;
&lt;br /&gt;
The IMAGE_RESULT table contains references to actual images that have been recorded with the radar &lt;br /&gt;
at different timestamps. For the Medium Power Radar normally every half hour such an image is generated. So for one RADAR/ BEAM we can expect 17520 such images a year. &lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
|'''RADAR_ID'''||Reference to RADAR_ID of table RADAR &lt;br /&gt;
|-&lt;br /&gt;
|'''BEAM_ID'''||Reference to BEAM_ID of table BEAM&lt;br /&gt;
|-&lt;br /&gt;
|'''IMAGE_REQUEST_ID'''||Reference to IMAGE_REQUEST_ID of table IMAGE_REQUEST&lt;br /&gt;
|-&lt;br /&gt;
|'''IMAGE_RESULT_ID'''||&lt;br /&gt;
|-&lt;br /&gt;
|ACQUISITION_TIME||Date and time of request&lt;br /&gt;
|-&lt;br /&gt;
|ERROR_STATUS||Status given back by Robin-system&lt;br /&gt;
|-&lt;br /&gt;
|CORRECTION_LEVEL||False alarm rate, FAR correction factor, important value, should have own graphical representation through out the year and correlate with the weather conditions&lt;br /&gt;
|-&lt;br /&gt;
|NR_OF_TRACKS||Number of tracks in image&lt;br /&gt;
|-&lt;br /&gt;
|RAIN_MASK||Rain clutter mask. Area were bird detection is switched off&lt;br /&gt;
|-&lt;br /&gt;
|LAND_MASK||Land clutter mask. No bird detection has been achieved in this area&lt;br /&gt;
|-&lt;br /&gt;
|IMAGE||Jpeg image of data (high resolution ) or georef TIFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==SUBWINDOW_RESULT==&lt;br /&gt;
&lt;br /&gt;
The SUBWINDOW_RESULT table contains values for all the subwindows and for each image_result and contains some computed values where the most notable is the ROBIN_CORRECTED_DENSITY which is a measure of the bird density that can be used for warnings such as the [https://flysafe-pps.grid.sara.nl/birdtam.html BirdTam]&lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
|'''RADAR_ID'''||Reference to RADAR_ID of table RADAR &lt;br /&gt;
|-&lt;br /&gt;
|'''BEAM_ID'''||Reference to BEAM_ID of table BEAM&lt;br /&gt;
|-&lt;br /&gt;
|'''IMAGE_REQUEST_ID'''||Reference to IMAGE_REQUEST_ID of table IMAGE_REQUEST&lt;br /&gt;
|-&lt;br /&gt;
|'''IMAGE_RESULT_ID'''||Reference to IMAGE_RESULT_ID of table IMAGE_RESULT&lt;br /&gt;
|-&lt;br /&gt;
|'''SUBWINDOW_ID'''||Reference to SUBWINDOW_ID of table SUBWINDOW&lt;br /&gt;
|-&lt;br /&gt;
|AREA||(km²)&lt;br /&gt;
|-&lt;br /&gt;
|LAND_CL_PERC||% land clutter in image&lt;br /&gt;
|-&lt;br /&gt;
|RAIN_CL_PERC||% rain clutter in image&lt;br /&gt;
|-&lt;br /&gt;
|CLUTTER_PERC||% land or rain clutter in image&lt;br /&gt;
|-&lt;br /&gt;
|TOTAL_MASS_DENSITY ||Total mass density per km², before MA&lt;br /&gt;
|-&lt;br /&gt;
|LAND_MASS_DENSITY ||Mass density per km², after MA in land clutter mask&lt;br /&gt;
|-&lt;br /&gt;
|RAIN_MASS_DENSITY ||Mass density per km², after MA in rain clutter mask&lt;br /&gt;
|-&lt;br /&gt;
|CLUTTER_MASS_DENSITY ||Mass density per km², after MA in rain or land clutter mask&lt;br /&gt;
|-&lt;br /&gt;
|BIRD_MASS_DENSITY||Mass density per km² of bird tracks&lt;br /&gt;
|-&lt;br /&gt;
|BIRD_ECHO_DENSITY||Mean bird echo density per km²&lt;br /&gt;
|-&lt;br /&gt;
|BIRD_MEAN_DIRECTION||Mean direction of all bird tracks in sub-window (radians)&lt;br /&gt;
|-&lt;br /&gt;
|BIRD_MEAN_SPEED||Mean speed of all bird tracks in sub-window (m/s)&lt;br /&gt;
|-&lt;br /&gt;
|MEAN_SPEED_VECTOR_RHO||Mean speed value added as vector  &lt;br /&gt;
|-&lt;br /&gt;
|MEAN_SPEED_VECTOR_PHI||Mean speed direction added as vector&lt;br /&gt;
|-&lt;br /&gt;
|MEAN_BIRD_VECTOR|| ( sum(cos(alpha[i]) )^2 + sum(sin(alpha[i]) )^2 ) / n &lt;br /&gt;
|-&lt;br /&gt;
|STANDARD_DEVIATION_BIRD_SPEED||standard deviation BIRD_MEAN_SPEED&lt;br /&gt;
|-&lt;br /&gt;
|N||Number of echos in subwindow                  &lt;br /&gt;
|-&lt;br /&gt;
|ROBIN_CORRECTED_DENSITY||Corrected density  &lt;br /&gt;
|-&lt;br /&gt;
|ROBIN_CORRECTED_QUALITY||Quality parameter associated with the ROBIN_CORRECTED_DENSITY&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The BIRD_MEAN_DIRECTION is the directional mean of the direction of all bird tracks in the subwindow. ( atan2(sum(sin(direction)) / N, sum(sin(direction)) / N) )   &lt;br /&gt;
&lt;br /&gt;
The BIRD_MEAN_SPEED is just the average speed of the birds in the subwindow. &lt;br /&gt;
The STANDARD_DEVIATION_BIRD_SPEED is the standard deviation for this BIRD_MEAN_SPEED.&lt;br /&gt;
&lt;br /&gt;
The MEAN_BIRD_VECTOR is a measure of whether the birds fly in the same direction. &lt;br /&gt;
MEAN_BIRD_VECTOR = SQRT(sum(sin(direction)) /N + sum(cos(direction)) /N) &lt;br /&gt;
&lt;br /&gt;
If this value is 1 they all fly in the same direction. If it is zero they all fly in opposite directions.  &lt;br /&gt;
&lt;br /&gt;
In addition the mean speed is also calculated as vector with the results in rho and phi in&lt;br /&gt;
MEAN_SPEED_VECTOR_RHO and MEAN_SPEED_VECTOR_PHI.&lt;br /&gt;
&lt;br /&gt;
Details for the  calculations of the ROBIN_CORRECTED_DENSITY and ROBIN_CORRECTED_QUALITY are in [[Robin subwindow density/quality_calculations]].&lt;br /&gt;
&lt;br /&gt;
==TRACK_RESULT==&lt;br /&gt;
&lt;br /&gt;
The TRACK_RESULT table contains tracks of birds that have been detected by the ROBIN4 system. It also contains as arrays all the different points in a track data. That data used to be in the TRACK_OBJECT table. The TRACK_RESULT table is a master table and the real data is contained in the inherited tables TRACK_RESULT&amp;lt;YEAR&amp;gt;&amp;lt;MONTH&amp;gt;. Otherwise the TRACK_RESULT table would become too big.   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
|'''RADAR_ID'''||Reference to RADAR_ID of table RADAR &lt;br /&gt;
|-&lt;br /&gt;
|'''BEAM_ID'''||Reference to BEAM_ID of table BEAM&lt;br /&gt;
|-&lt;br /&gt;
|'''IMAGE_REQUEST_ID'''||Reference to IMAGE_REQUEST_ID of table IMAGE_REQUEST&lt;br /&gt;
|-&lt;br /&gt;
|'''IMAGE_RESULT_ID'''||Reference to IMAGE_RESULT_ID of table IMAGE_RESULT &lt;br /&gt;
|- &lt;br /&gt;
|'''TRACK_RESULT_ID'''||&lt;br /&gt;
|-&lt;br /&gt;
|''DATE_TIME''||Starttime (date + time) of track (for MA equal to ACQUISITION TIME, for CMA different)&lt;br /&gt;
|-&lt;br /&gt;
|TRACK_RANGE||Start position of track (m)&lt;br /&gt;
|-&lt;br /&gt;
|TRACK_AZIMUTH||Start position of track (radians)&lt;br /&gt;
|-&lt;br /&gt;
|TRACK_MASS||Mean mass of bird track&lt;br /&gt;
|-&lt;br /&gt;
|TRACK_SPEED||Mean speed of bird track (m/s)&lt;br /&gt;
|-&lt;br /&gt;
|TRACK_DIRECTION||Mean direction of bird track (radians)&lt;br /&gt;
|-&lt;br /&gt;
|TRACK_OBJECTS||Number of objects in track (0 – 10)&lt;br /&gt;
|-&lt;br /&gt;
|TRACK_SOURCE||MA / CAM&lt;br /&gt;
|-&lt;br /&gt;
|OBJECT_LATITUDE||Array of latitude position of object&lt;br /&gt;
|-&lt;br /&gt;
|OBJECT_LONGITUDE||Array of longitude position of object&lt;br /&gt;
|-&lt;br /&gt;
|OBJECT_MASS||Array of mass (reflection) of object&lt;br /&gt;
|-&lt;br /&gt;
|OBJECT_SIZE||Array of size of object&lt;br /&gt;
|-&lt;br /&gt;
|OBJECT_RHO||Array of rho coordinate of object&lt;br /&gt;
|-&lt;br /&gt;
|OBJECT_PHI||Array of phi coordinate of object&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[ Image : Radar_datamodel.png ]]&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=Setting_up_a_connection_to_the_e-Ecology_database&amp;diff=1396</id>
		<title>Setting up a connection to the e-Ecology database</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=Setting_up_a_connection_to_the_e-Ecology_database&amp;diff=1396"/>
				<updated>2018-02-20T15:54:38Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* General Information */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Connecting to the e-Ecology database via Access or other relational database programs=&lt;br /&gt;
Stacy Shinneman, Updated: February 2018; Judy Shamoun-Baranes / Bart Heupers, Updated: July 28, 2014&lt;br /&gt;
&lt;br /&gt;
=General Information=&lt;br /&gt;
&lt;br /&gt;
The e-Ecology database is a spatial postgreSQL ([http://www.postgresql.org/-http://www.postgresql.org/]). Before 2018, it was also referred to as the FlySafe database. &lt;br /&gt;
&lt;br /&gt;
PgAdmin III or IV can be used to browse and query data.  If you use pgAdmin you do not need to set up an ODBC connection.&lt;br /&gt;
&lt;br /&gt;
The database can also be called from other programs by installing an ODBC driver for postgreSQL and establishing a &amp;quot;User Data Source&amp;quot; [http://www.postgresql.org/ftp/odbc/versions/msi/-http://www.postgresql.org/ftp/odbc/versions/msi/].&lt;br /&gt;
&lt;br /&gt;
In order to access the database, you should send your IP address to uva-bits@uva.nl who will provide a user name and password. For organizations an IP range can also be given.&lt;br /&gt;
&lt;br /&gt;
The e-Ecology server which is accessible to the UvA-BiTS community is at:&lt;br /&gt;
&lt;br /&gt;
  Server: pubserv.e-ecology.nl&lt;br /&gt;
  Port: 5432&lt;br /&gt;
  SSL: required&lt;br /&gt;
&lt;br /&gt;
To set up a new connection to the e-Ecology database via '''pgAdmin III''', go to create New Server Registration and fill in the information below. To set up a connection in '''PgAdmin version 4''', click Add New Server and then enter the information on the General, Connection and SSL tabs.&lt;br /&gt;
&lt;br /&gt;
  '''Under the Properties tab'''&lt;br /&gt;
  Name: e-Ecology&lt;br /&gt;
  Host: pubserv.e-ecology.nl  &lt;br /&gt;
  Port: 5432&lt;br /&gt;
  Maintenance DB: eecology&lt;br /&gt;
  Username: &amp;lt;your user name&amp;gt;&lt;br /&gt;
  Password: &amp;lt;your password&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  '''Under the SSL tab'''&lt;br /&gt;
  SSL: required&lt;br /&gt;
 &lt;br /&gt;
Restricted e-Ecology server information:&lt;br /&gt;
&lt;br /&gt;
  Server : db.e-ecology.sara.nl&lt;br /&gt;
  Port : 5432&lt;br /&gt;
  SSL: required&lt;br /&gt;
&lt;br /&gt;
The tracking data can be found in the schema '''gps'''. However, these instructions can be used to access any of the data included in the e-Ecology database.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection=&lt;br /&gt;
&lt;br /&gt;
ODBC (Open Database connectivity) is a standard method of sharing data between databases and other programs. ODBC drivers use SQL to gain access to data from sources outside the program.  Therefore, in order to connect between your database and other programs you must set up an ODBC connection.  &lt;br /&gt;
Step 1: Download and install an ODBC driver for postgreSQL.&lt;br /&gt;
[http://www.postgresql.org/ftp/odbc/versions/msi/-http://www.postgresql.org/ftp/odbc/versions/msi/]&lt;br /&gt;
Step 2: Set up ODBC connection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do the following:&lt;br /&gt;
# go to '''start | Control panel | Administrative tools | Data sources (ODBC)'''&lt;br /&gt;
# go to '''User DSN''' (first tab in Data sources)&lt;br /&gt;
# click '''ADD'''&lt;br /&gt;
# in window '''create''' '''new data source''' select '''PostgreSQL ANSI''' click '''FINISH'''&lt;br /&gt;
# The '''ODBC Driver setup''' window opens. '''Data source name''': give your data source a name (eg GPS).  Keep it simple, easily identifiable, this is the name you will use to identify your database from other applications, this will be the '''ODBC driver name'''.&lt;br /&gt;
# In the same window fill in the following information: '''database''' ''eecology'', '''Server'''  ''public.e-ecology.sara.nl'', '''User Name''' your user name, '''SSL Mode''' ''require'', '''Port''' ''5432'', '''Password''' your password. When the window is completed click '''SAVE'''&lt;br /&gt;
# Back in the '''User DSN''' window you should now see your ODBC driver you just named, click '''OK'''&lt;br /&gt;
After completing these steps many other programs will now recognize your database and be able to communicate with it&lt;br /&gt;
&lt;br /&gt;
=Connecting to Access=&lt;br /&gt;
You can now connect to the database via access. You have two options. One is to import the data, once this is done your database is not automatically updated but does not require a link to the database.&lt;br /&gt;
&lt;br /&gt;
The second option (described below) is to create a dynamic link to the database (you must be connected to the network) in this case you are always viewing data that is in the actual SARA database.&lt;br /&gt;
&lt;br /&gt;
# Open a new database in Access&lt;br /&gt;
# go to '''file | Get external data | Link tables'''&lt;br /&gt;
# in '''files of type''' select '''ODBC databases'''&lt;br /&gt;
# in '''select data source''' click on tab '''Machine Data Source'''&lt;br /&gt;
# select the data source name you created when setting up the ODBC connection (eg GPS) click '''OK'''&lt;br /&gt;
# Select the tables you want to import click OK&lt;br /&gt;
&lt;br /&gt;
You now have access to your selected tables in the database. Have fun.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Original document  [[ Media:Connect_flysafe.doc ]]&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	<entry>
		<id>https://wiki.e-ecology.nl/index.php?title=Setting_up_a_connection_to_the_e-Ecology_database&amp;diff=1395</id>
		<title>Setting up a connection to the e-Ecology database</title>
		<link rel="alternate" type="text/html" href="https://wiki.e-ecology.nl/index.php?title=Setting_up_a_connection_to_the_e-Ecology_database&amp;diff=1395"/>
				<updated>2018-02-20T14:44:37Z</updated>
		
		<summary type="html">&lt;p&gt;Stacy shinneman: /* General Information */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Connecting to the e-Ecology database via Access or other relational database programs=&lt;br /&gt;
Stacy Shinneman, Updated: February 2018; Judy Shamoun-Baranes / Bart Heupers, Updated: July 28, 2014&lt;br /&gt;
&lt;br /&gt;
=General Information=&lt;br /&gt;
&lt;br /&gt;
The e-Ecology database is a spatial postgreSQL ([http://www.postgresql.org/-http://www.postgresql.org/]). Before 2018, it was also referred to as the FlySafe database. &lt;br /&gt;
&lt;br /&gt;
PgAdmin III or IV can be used to browse and query data.  If you use pgAdmin you do not need to set up an ODBC connection.&lt;br /&gt;
&lt;br /&gt;
The database can also be called from other programs by installing an ODBC driver for postgreSQL and establishing a &amp;quot;User Data Source&amp;quot; [http://www.postgresql.org/ftp/odbc/versions/msi/-http://www.postgresql.org/ftp/odbc/versions/msi/].&lt;br /&gt;
&lt;br /&gt;
In order to access the database, you should send your IP address to uva-bits@uva.nl who will provide a user name and password. For organizations an IP range can also be given.&lt;br /&gt;
&lt;br /&gt;
The e-Ecology server which is accessible to the UvA-BiTS community is at:&lt;br /&gt;
&lt;br /&gt;
  Server: pubserv.e-ecology.nl&lt;br /&gt;
  Port: 5432&lt;br /&gt;
  SSL: required&lt;br /&gt;
&lt;br /&gt;
To set up a new connection to the e-Ecology database via '''pgAdmin III''', go to create New Server Registration and fill in the information below. To set up a connection in '''PgAdmin version 4''', click Add New Server and then enter the information on the General, Connection and SSL tabs.&lt;br /&gt;
&lt;br /&gt;
  '''Under the Properties tab'''&lt;br /&gt;
  Name: e-Ecology&lt;br /&gt;
  Host: pubserv.e-ecology.sara.nl  &lt;br /&gt;
  Port: 5432&lt;br /&gt;
  Maintenance DB: eecology&lt;br /&gt;
  Username: &amp;lt;your user name&amp;gt;&lt;br /&gt;
  Password: &amp;lt;your password&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  '''Under the SSL tab'''&lt;br /&gt;
  SSL: required&lt;br /&gt;
 &lt;br /&gt;
Restricted e-Ecology server information:&lt;br /&gt;
&lt;br /&gt;
  Server : db.e-ecology.sara.nl&lt;br /&gt;
  Port : 5432&lt;br /&gt;
  SSL: required&lt;br /&gt;
&lt;br /&gt;
The tracking data can be found in the schema '''gps'''. However, these instructions can be used to access any of the data included in the e-Ecology database.&lt;br /&gt;
&lt;br /&gt;
=Setting up an ODBC connection=&lt;br /&gt;
&lt;br /&gt;
ODBC (Open Database connectivity) is a standard method of sharing data between databases and other programs. ODBC drivers use SQL to gain access to data from sources outside the program.  Therefore, in order to connect between your database and other programs you must set up an ODBC connection.  &lt;br /&gt;
Step 1: Download and install an ODBC driver for postgreSQL.&lt;br /&gt;
[http://www.postgresql.org/ftp/odbc/versions/msi/-http://www.postgresql.org/ftp/odbc/versions/msi/]&lt;br /&gt;
Step 2: Set up ODBC connection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do the following:&lt;br /&gt;
# go to '''start | Control panel | Administrative tools | Data sources (ODBC)'''&lt;br /&gt;
# go to '''User DSN''' (first tab in Data sources)&lt;br /&gt;
# click '''ADD'''&lt;br /&gt;
# in window '''create''' '''new data source''' select '''PostgreSQL ANSI''' click '''FINISH'''&lt;br /&gt;
# The '''ODBC Driver setup''' window opens. '''Data source name''': give your data source a name (eg GPS).  Keep it simple, easily identifiable, this is the name you will use to identify your database from other applications, this will be the '''ODBC driver name'''.&lt;br /&gt;
# In the same window fill in the following information: '''database''' ''eecology'', '''Server'''  ''public.e-ecology.sara.nl'', '''User Name''' your user name, '''SSL Mode''' ''require'', '''Port''' ''5432'', '''Password''' your password. When the window is completed click '''SAVE'''&lt;br /&gt;
# Back in the '''User DSN''' window you should now see your ODBC driver you just named, click '''OK'''&lt;br /&gt;
After completing these steps many other programs will now recognize your database and be able to communicate with it&lt;br /&gt;
&lt;br /&gt;
=Connecting to Access=&lt;br /&gt;
You can now connect to the database via access. You have two options. One is to import the data, once this is done your database is not automatically updated but does not require a link to the database.&lt;br /&gt;
&lt;br /&gt;
The second option (described below) is to create a dynamic link to the database (you must be connected to the network) in this case you are always viewing data that is in the actual SARA database.&lt;br /&gt;
&lt;br /&gt;
# Open a new database in Access&lt;br /&gt;
# go to '''file | Get external data | Link tables'''&lt;br /&gt;
# in '''files of type''' select '''ODBC databases'''&lt;br /&gt;
# in '''select data source''' click on tab '''Machine Data Source'''&lt;br /&gt;
# select the data source name you created when setting up the ODBC connection (eg GPS) click '''OK'''&lt;br /&gt;
# Select the tables you want to import click OK&lt;br /&gt;
&lt;br /&gt;
You now have access to your selected tables in the database. Have fun.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Original document  [[ Media:Connect_flysafe.doc ]]&lt;/div&gt;</summary>
		<author><name>Stacy shinneman</name></author>	</entry>

	</feed>