changeset 0:ad96b20423cf draft default tip

planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/EMLassemblyline commit 4b040fe7867d965fb88ce70cc08081367b62b063
author ecology
date Fri, 27 Sep 2024 13:01:04 +0000
parents
children
files annotations_template.R eal_table_templates.R eal_templates.R eml2eal.R eml_validate.R eml_validate.xml entities_templates.R geo_cov_temp.R make_eml.R raster_templates.R taxo_cov_template.R test-data/Assessing_the_importance_of_field_margins_for_bat_species.xml test-data/Present_Surface_pH.tif test-data/annotations.tabular test-data/annotations.txt test-data/annotemp/abstract.txt test-data/annotemp/annotations_template.txt test-data/annotemp/annotations_template_2.txt test-data/annotemp/annotations_template_3.txt test-data/annotemp/annotations_template_4.txt test-data/annotemp/attributes_ceamarc_env.txt test-data/annotemp/ceamarc_env.tsv test-data/annotemp/custom_units.txt test-data/annotemp/entities.txt test-data/annotemp/geographic_coverage.txt test-data/annotemp/intellectual_rights.txt test-data/annotemp/keywords.txt test-data/annotemp/methods.txt test-data/annotemp/personnel.txt test-data/annotemp/pivot_wider_jupytool_notebook.ipynb test-data/attributes_data_7.txt test-data/attributes_data_blary_al.tabular test-data/attributes_data_blary_al.txt test-data/catvars_data_7.txt test-data/catvars_data_blary_al.tabular test-data/catvars_data_blary_al.txt test-data/custom_units.txt test-data/data_7.GeoJSON test-data/datafile_1.tsv test-data/entities.txt test-data/geographic_coverage.tabular test-data/geographic_coverage.txt test-data/keywords.tabular test-data/keywords.txt test-data/metadataoutput.xml test-data/personnel.tabular test-data/personnel.txt test-data/report.txt test-data/taxa.tsv test-data/taxonomic_coverage.txt test-data/test-geocov.tabular test-data/test_geocov.tsv vector_templates.R
diffstat 53 files changed, 3834 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/annotations_template.R	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,81 @@
+#17/07/2024
+#Seguineau Pauline
+
+#Make annotation template
+#Load packages
+
+library(EMLassemblyline)
+
+#Load arguments
+
+args = commandArgs(trailingOnly=TRUE)
+
+if(length(args)>0){
+  prod <- args[1]
+  if (prod == "fr_scratch"){
+      select <- args[2]
+      data_table <- args[3]
+      if(select == "data_table"){
+          data_table <- args[3]
+      }else if(select == "other_entities"){
+          other_entities <- args[3]
+      }else if(select == "both"){
+          data_table <- args[3]
+          other_entities <- args[4]}
+  }else{
+      eml <- args[2]
+  }
+}
+
+#Transform arguments
+
+if(prod =="fr_scratch" && select == "both"){
+     table = strsplit(data_table," ")
+     other = strsplit(other_entities," ")
+
+#Make templates to add annotations from scratch
+
+     template_annotations(
+          path ="data_files/",
+          data.table = table[[1]],
+          other.entity = other[[1]]) 
+          
+}else if (prod == "fr_scratch" && select == "data_table"){
+
+     table = strsplit(data_table," ")
+     template_annotations(
+          path ="data_files/",
+          data.table = table[[1]]) 
+
+}else if (prod == "fr_scratch" && select == "other_entities"){
+
+     other = strsplit(other_entities," ")
+     template_annotations(
+          path ="data_files/",
+          other.entity = other[[1]]) 
+
+#Make templates to add annotations from EML file
+
+}else{
+     template_annotations(
+          path= "data_files/",
+          eml = eml)}
+          
+          
+          
+          
+          
+          
+          
+          
+          
+          
+          
+          
+          
+          
+          
+          
+          
+          
+          
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eal_table_templates.R	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,21 @@
+#28/11/2023 #SEGUINEAU Pauline 
+
+#Load packages
+
+library(EMLassemblyline)
+
+#Load arguments
+
+if (length(commandArgs(trailingOnly = TRUE)) > 0) {
+    data_table <- commandArgs(trailingOnly = TRUE)[1]
+}
+
+#Transform arguments
+
+table =  strsplit(data_table," ")
+
+#Make templates to describe data tables : Describes columns of a data table (classes, units, datetime formats, missing value codes) + catégorical variables.
+
+template_table_attributes(path = ".",data.path= "data_files", data.table = table[[1]])
+template_categorical_variables(path = ".", data.path = "data_files")
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eal_templates.R	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,23 @@
+#22/11/2023 #SEGUINEAU Pauline 
+
+###First tool of EML Workflow
+
+#Load packages
+
+library(EMLassemblyline)
+
+#Load arguments
+
+args = commandArgs(trailingOnly=TRUE)
+if(length(args)>0){
+  
+  license <- args[1]
+  file_type <- args[2]
+}
+
+#Make templates to describe core features of a data package (abstract, methods, keywords, personnel, license). 
+
+template_core_metadata(path=".",license = license, file.type = file_type)
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eml2eal.R	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,15 @@
+##07/06/2023
+##Genthon Tanguy
+###eml2eal
+
+#load arguments
+args = commandArgs(trailingOnly=TRUE)
+if (length(args)==0)
+{
+  stop("This tool needs at least one argument")
+}else{
+  data <- args[1]
+}
+
+
+EMLassemblyline::eml2eal(data,path=".")
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eml_validate.R	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,35 @@
+#17/09/2024
+#Seguineau Pauline 
+
+#EML validate
+
+#Load packages
+
+library(emld)
+library(EML)
+
+#Load arguments
+
+args = commandArgs(trailingOnly=TRUE)
+
+if(length(args)>0){
+  eml_file <- args[1]
+}else{
+
+stop("This tool needs at least one argument.")}
+
+#run eml_validate
+
+eml = read_eml(eml_file)
+
+eml_valid = eml_validate(eml)
+
+if(eml_valid==T){
+  cat("Your EML is valid.")
+}else if(eml_valid==F && length(attr(eml_valid,""))>1){
+  cat("Your EML is not valid. You can improve it by correcting these errors:","\n")
+  attr(eml_valid,"")
+}else{
+  cat("Your EML is not valid. You can improve it by correcting this error:","\n")
+  attr(eml_valid,"")
+} 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eml_validate.xml	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,46 @@
+<tool id="eml_validate" name="Eml validate:" version="0.1.0" profile="21.05">
+    <description>check if your EML file is valid</description>
+    <requirements>
+        <requirement type="package" version="4.3.3">r-base</requirement>
+        <requirement type="package" version="2.0.6.1">r-eml</requirement>
+        <requirement type="package" version="0.5.1">r-emld</requirement>
+    </requirements>
+    <command detect_errors="exit_code"><![CDATA[
+     Rscript
+         '$__tool_directory__/eml_validate.R' > report.txt
+         '$inputmetadatafile'
+         '$output'
+    ]]></command>
+    <inputs>
+        <param name="inputmetadatafile" type="data" format="xml" label="EML metadata file" help="Insert only metadata using EML standard."/>
+    </inputs>
+    <outputs>
+       <data name="output" from_work_dir="report.txt" format="txt" label="Informations report"/>
+    </outputs>
+    <tests>
+        <test>
+            <param name="inputmetadatafile" value="metadataoutput.xml"/>
+            <output name='output' value="report.txt"/>
+        </test>
+    </tests>
+    <help><![CDATA[
+    
+**What it does?**
+--------------------
+    
+Eml_validate processes an EML document using the XSD schema for the appropriate version of EML and determines if the document is schema-valid as defined by the XSD specification.
+    
+**How to use it?**
+--------------------
+
+You need to input an EML file in xml format. And the tool will produce a text file with the information you need. 
+There are two different cases: 
+1) Your EML file is valid.
+2) Your EML file is not valid, and a list of errors is displayed for you to improve your EML file.
+    
+    ]]></help>
+    <citations>
+       <citation type="doi">10.32614/CRAN.package.emld</citation>
+       <citation type="doi">10.32614/CRAN.package.EML</citation>
+    </citations>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/entities_templates.R	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,17 @@
+#19/12/2023 #SEGUINEAU Pauline 
+
+#Load arguments
+
+if (length(commandArgs(trailingOnly = TRUE)) > 0) {
+    data_objects <- commandArgs(trailingOnly = TRUE)[1]
+}
+
+#Transform arguments
+
+data =  strsplit(data_objects," ")[[1]]
+
+#Make entities templates for raster and/or vector and/or other entities data
+
+EMLassemblyline::template_entities(path="output_template",data.path="data_files",data.objects=data)
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/geo_cov_temp.R	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,38 @@
+#27/11/2023
+#Seguineau Pauline
+#Make geographic coverage template
+
+#Load packages
+
+library(EMLassemblyline)
+
+#Load arguments
+
+args = commandArgs(trailingOnly=TRUE)
+if(length(args)>0){
+  
+  data_table <- args[1]
+  tablename <- args[2]
+  lat_col <- as.numeric(args[3])
+  long_col <- as.numeric(args[4])
+  site_col <- as.numeric(args[5])
+  empty <- args[6]
+}
+
+datatable = read.table(data_table,sep="\t",header=T)
+
+latcol = names(datatable[lat_col])
+longcol = names(datatable[long_col])
+sitecol = names(datatable[site_col])
+
+if (empty == "false"){
+   empty = FALSE
+}else if (empty=="true"){
+   empty=TRUE}
+
+
+#Make template
+
+template_geographic_coverage(path =".", data.path = "data_files", data.table = tablename, lat.col = latcol, lon.col = longcol, site.col = sitecol, empty = empty)
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make_eml.R	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,442 @@
+##07/06/2023 ##Genthon Tanguy
+##update 15/11/2023 ## Seguineau Pauline
+
+###make_eml
+
+args = commandArgs(trailingOnly=TRUE)
+if(length(args)>0){
+  title <- args[1]
+  start <- args[2]
+  end <-args[3]
+  data_table <- args[4]
+  data_raster <- args[5]
+  data_vector <- args[6]
+  data_other <- args[7]
+  destable <- args[8]
+  desraster<- args[9]
+  desvector<- args[10]
+  desother <- args[11]
+  quote <- args[12]
+  table_url <- args[13]
+  other_url <- args[14]
+  raster_url <- args[15]
+  vector_url <- args[16]
+}
+
+#Load package
+
+library(EMLassemblyline)
+sessionInfo()
+
+
+###Format data###
+if (data_table == ""){
+    table=NULL
+}else{
+    table =  strsplit(data_table," ")
+    for (file in table){
+         name_table = gsub("\\.[a-zA-Z]*", "", file)}
+    }
+    
+    
+if (quote != ""){
+   quote = strsplit(quote,",")
+   if (length(quote[[1]]) != length(table[[1]])){
+   stop("Your number of quote(s) isn't equal to your number of data table file(s). Please enter the quote parameter as many time as the number of data tables you've input")}
+}
+
+
+tablequote=NULL
+for (quote_table in quote[[1]]){
+    if (quote_table=="quote"){
+        quote_table = sub("quote",'"', quote_table)}
+    else if (quote_table=="apostrophe"){
+             quote_table = gsub("apostrophe","'",quote_table)}
+    else if (quote_table=="none"){
+             quote_table = gsub("none","",quote_table)}
+    tablequote = c(tablequote, quote_table)
+}
+
+  
+if (data_raster == ""){
+    raster=NULL
+}else{
+    raster =  strsplit(data_raster," ")
+    for (file in raster){
+         name_raster = gsub("\\.[a-zA-Z]*", "", file)}
+    }
+    
+if (data_vector == ""){
+    vector=NULL
+}else{
+    vector =  strsplit(data_vector," ")
+    for (file in vector){
+         name_vector = gsub("\\.[a-zA-Z]*", "", file)}
+    }
+
+if (data_other == ""){
+    other=NULL
+}else{
+    other =  strsplit(data_other," ")
+    for (file in other){
+         name_other = gsub("\\.[a-zA-Z]*", "", file)}
+         }
+
+if (data_table !=""){
+   if (destable == ""){
+       des_table = name_table
+   }else{
+       des_table =  strsplit(destable,",")}
+}
+
+if (data_raster !=""){
+   if (desraster == ""){
+       des_raster = name_raster
+   }else{
+       des_raster =  strsplit(desraster,",")}
+}
+
+if (data_vector !=""){ 
+   if (desvector == ""){
+       des_vector = name_vector
+   }else{
+       des_vector =  strsplit(desvector,",")}
+}
+
+if (data_other !=""){
+   if (desother == ""){
+       des_other = name_other
+   }else{
+       des_other =  strsplit(desother,",")}
+}
+
+if (data_table !=""){
+   if (table_url == ""){
+       urltable = ""
+   }else{
+       table_url = gsub("\\-" ,"", table_url)
+       urltable =  strsplit(table_url,",")
+   }
+}
+
+if (data_other !=""){
+   if (other_url == ""){
+       urlother = ""
+   }else{
+       other_url = gsub("\\-" ,"", other_url)
+       urlother =  strsplit(other_url,",")
+   }
+}
+
+if (data_raster !=""){
+   if (raster_url == ""){
+       urlraster = ""
+   }else{
+       raster_url = gsub("\\-" ,"", raster_url)
+       urlraster =  strsplit(raster_url,",")
+   }
+}
+
+if (data_vector !=""){
+   if (vector_url == ""){
+       urlvector = ""
+   }else{
+       vector_url = gsub("\\-" ,"", vector_url)
+       urlvector =  strsplit(vector_url,",")
+   }
+}
+
+
+
+###Make EML###
+   
+if (!is.null(table) && !is.null(raster) && !is.null(vector) && !is.null(other)){
+   
+   EMLassemblyline::make_eml(
+                      path="output_template",
+                      data.path="data_files",
+                      eml.path=".", 
+                      dataset.title = title,
+                      temporal.coverage = c(start,end),
+                      data.table=table[[1]],
+                      data.table.name = name_table,
+                      data.table.description = des_table[[1]],
+                      data.table.quote.character = tablequote,
+                      data.table.url = urltable[[1]],
+                      spatial.raster=raster[[1]],
+                      spatial.raster.name = name_raster,
+                      spatial.raster.description = des_raster[[1]],
+                      spatial.raster.url = urlraster[[1]],
+                      spatial.vector=vector[[1]],
+                      spatial.vector.name = name_vector,
+                      spatial.vector.description = des_vector[[1]],
+                      spatial.vector.url = urlvector[[1]],
+                      other.entity=other[[1]],
+                      other.entity.name = name_other,
+                      other.entity.description = des_other[[1]],
+                      other.entity.url= urlother[[1]])
+                      
+}else if (is.null(table) && is.null(raster) && is.null(vector) && is.null(other)){
+  
+   EMLassemblyline::make_eml(
+                      path="output_template",
+                      data.path="data_files",
+                      eml.path=".", 
+                      dataset.title = title,
+                      temporal.coverage = c(start,end))
+   
+}else if (!is.null(table) && is.null(raster) && is.null(vector) && is.null(other)){
+
+   EMLassemblyline::make_eml(
+                      path="output_template",
+                      data.path="data_files",
+                      eml.path=".", 
+                      dataset.title = title,
+                      temporal.coverage = c(start,end),
+                      data.table=table[[1]],
+                      data.table.name = name_table,
+                      data.table.description = des_table[[1]],
+                      data.table.quote.character = tablequote,
+                      data.table.url = urltable[[1]]
+                      )
+
+}else if (!is.null(table) && !is.null(raster) && is.null(vector) && is.null(other)){
+   
+   EMLassemblyline::make_eml(
+                      path="output_template",
+                      data.path="data_files",
+                      eml.path=".", 
+                      dataset.title = title,
+                      temporal.coverage = c(start,end),
+                      data.table=table[[1]],
+                      data.table.name = name_table,
+                      data.table.description = des_table[[1]],
+                      data.table.quote.character = tablequote,
+                      data.table.url = urltable[[1]],
+                      spatial.raster=raster[[1]],
+                      spatial.raster.name = name_raster,
+                      spatial.raster.description = des_raster[[1]],
+                      spatial.raster.url = urlraster[[1]])
+                      
+}else if (!is.null(table) && !is.null(raster) && !is.null(vector) && is.null(other)){
+  
+   EMLassemblyline::make_eml(
+                      path="output_template",
+                      data.path="data_files",
+                      eml.path=".", 
+                      dataset.title = title,
+                      temporal.coverage = c(start,end),
+                      data.table=table[[1]],
+                      data.table.name = name_table,
+                      data.table.description = des_table[[1]],
+                      data.table.quote.character = tablequote,
+                      data.table.url = urltable[[1]],
+                      spatial.raster=raster[[1]],
+                      spatial.raster.name = name_raster,
+                      spatial.raster.description = des_raster[[1]],
+                      spatial.raster.url = urlraster[[1]],
+                      spatial.vector=vector[[1]],
+                      spatial.vector.name = name_vector,
+                      spatial.vector.description = des_vector[[1]],
+                      spatial.vector.url = urlvector[[1]])
+
+}else if (is.null(table) && !is.null(raster) && is.null(vector) && is.null(other)){
+
+   EMLassemblyline::make_eml(
+                      path="output_template",
+                      data.path="data_files",
+                      eml.path=".", 
+                      dataset.title = title,
+                      temporal.coverage = c(start,end),
+                      spatial.raster=raster[[1]],
+                      spatial.raster.name = name_raster,
+                      spatial.raster.description = des_raster[[1]],
+                      spatial.raster.url = urlraster[[1]])
+                      
+}else if (is.null(table) && !is.null(raster) && !is.null(vector) && is.null(other)){
+   
+   EMLassemblyline::make_eml(
+                      path="output_template",
+                      data.path="data_files",
+                      eml.path=".", 
+                      dataset.title = title,
+                      temporal.coverage = c(start,end),
+                      spatial.raster=raster[[1]],
+                      spatial.raster.name = name_raster,
+                      spatial.raster.description = des_raster[[1]],
+                      spatial.raster.url = urlraster[[1]],
+                      spatial.vector=vector[[1]],
+                      spatial.vector.name = name_vector,
+                      spatial.vector.description = des_vector[[1]],
+                      spatial.vector.url = urlvector[[1]])
+
+}else if (is.null(table) && !is.null(raster) && !is.null(vector) && !is.null(other)){
+
+   EMLassemblyline::make_eml(
+                      path="output_template",
+                      data.path="data_files",
+                      eml.path=".", 
+                      dataset.title = title,
+                      temporal.coverage = c(start,end),
+                      spatial.raster=raster[[1]],
+                      spatial.raster.name = name_raster,
+                      spatial.raster.description = des_raster[[1]],
+                      spatial.raster.url = urlraster[[1]],
+                      spatial.vector=vector[[1]],
+                      spatial.vector.name = name_vector,
+                      spatial.vector.description = des_vector[[1]],
+                      spatial.vector.url = urlvector[[1]],
+                      other.entity=other[[1]],
+                      other.entity.name = name_other,
+                      other.entity.description = des_other[[1]],
+                      other.entity.url= urlother[[1]])
+                 
+}else if (is.null(table) && is.null(raster) && !is.null(vector) && is.null(other)){
+
+   EMLassemblyline::make_eml(
+                      path="output_template",
+                      data.path="data_files",
+                      eml.path=".", 
+                      dataset.title = title,
+                      temporal.coverage = c(start,end),
+                      spatial.vector=vector[[1]],
+                      spatial.vector.name = name_vector,
+                      spatial.vector.description = des_vector[[1]],
+                      spatial.vector.url = urlvector[[1]])
+                      
+}else if (is.null(table) && is.null(raster) && !is.null(vector) && !is.null(other)){
+
+   EMLassemblyline::make_eml(
+                      path="output_template",
+                      data.path="data_files",
+                      eml.path=".", 
+                      dataset.title = title,
+                      temporal.coverage = c(start,end),
+                      spatial.vector=vector[[1]],
+                      spatial.vector.name = name_vector,
+                      spatial.vector.description = des_vector[[1]],
+                      spatial.vector.url = urlvector[[1]],
+                      other.entity=other[[1]],
+                      other.entity.name = name_other,
+                      other.entity.description = des_other[[1]],
+                      other.entity.url= urlother[[1]])
+                      
+}else if (is.null(table) && is.null(raster) && is.null(vector) && !is.null(other)){
+
+   EMLassemblyline::make_eml(
+                      path="output_template",
+                      data.path="data_files",
+                      eml.path=".", 
+                      dataset.title = title,
+                      temporal.coverage = c(start,end),
+                      other.entity=other[[1]],
+                      other.entity.name = name_other,
+                      other.entity.description = des_other[[1]],
+                      other.entity.url= urlother[[1]])
+                      
+}else if (!is.null(table) && is.null(raster) && !is.null(vector) && is.null(other)){
+
+   EMLassemblyline::make_eml(
+                      path="output_template",
+                      data.path="data_files",
+                      eml.path=".", 
+                      dataset.title = title,
+                      temporal.coverage = c(start,end),
+                      data.table=table[[1]],
+                      data.table.name = name_table,
+                      data.table.description = des_table[[1]],
+                      data.table.quote.character = tablequote,
+                      data.table.url = urltable[[1]],
+                      spatial.vector=vector[[1]],
+                      spatial.vector.name = name_vector,
+                      spatial.vector.description = des_vector[[1]],
+                      spatial.vector.url = urlvector[[1]])
+
+}else if (!is.null(table) && is.null(raster) && is.null(vector) && !is.null(other)){
+
+   EMLassemblyline::make_eml(
+                      path="output_template",
+                      data.path="data_files",
+                      eml.path=".", 
+                      dataset.title = title,
+                      temporal.coverage = c(start,end),
+                      data.table=table[[1]],
+                      data.table.name = name_table,
+                      data.table.description = des_table[[1]],
+                      data.table.quote.character = tablequote,
+                      data.table.url = urltable[[1]],
+                      other.entity=other[[1]],
+                      other.entity.name = name_other,
+                      other.entity.description = des_other[[1]],
+                      other.entity.url= urlother[[1]])
+
+}else if (is.null(table) && !is.null(raster) && is.null(vector) && !is.null(other)){
+
+   EMLassemblyline::make_eml(
+                      path="output_template",
+                      data.path="data_files",
+                      eml.path=".", 
+                      dataset.title = title,
+                      temporal.coverage = c(start,end),
+                      spatial.raster=raster[[1]],
+                      spatial.raster.name = name_raster,
+                      spatial.raster.description = des_raster[[1]],
+                      spatial.raster.url = urlraster[[1]],
+                      other.entity=other[[1]],
+                      other.entity.name = name_other,
+                      other.entity.description = des_other[[1]],
+                      other.entity.url= urlother[[1]])
+
+}else if (!is.null(table) && is.null(raster) && !is.null(vector) && !is.null(other)){
+   
+   EMLassemblyline::make_eml(
+                      path="output_template",
+                      data.path="data_files",
+                      eml.path=".", 
+                      dataset.title = title,
+                      temporal.coverage = c(start,end),
+                      data.table=table[[1]],
+                      data.table.name = name_table,
+                      data.table.description = des_table[[1]],
+                      data.table.quote.character = tablequote,
+                      data.table.url = urltable[[1]],
+                      spatial.vector=vector[[1]],
+                      spatial.vector.name = name_vector,
+                      spatial.vector.description = des_vector[[1]],
+                      spatial.vector.url = urlvector[[1]],
+                      other.entity=other[[1]],
+                      other.entity.name = name_other,
+                      other.entity.description = des_other[[1]],
+                      other.entity.url= urlother[[1]])
+
+}else if (!is.null(table) && !is.null(raster) && is.null(vector) && !is.null(other)){
+
+   EMLassemblyline::make_eml(
+                      path="output_template",
+                      data.path="data_files",
+                      eml.path=".", 
+                      dataset.title = title,
+                      temporal.coverage = c(start,end),
+                      data.table=table[[1]],
+                      data.table.name = name_table,
+                      data.table.description = des_table[[1]],
+                      data.table.quote.character = tablequote,
+                      data.table.url = urltable[[1]],
+                      spatial.raster=raster[[1]],
+                      spatial.raster.name = name_raster,
+                      spatial.raster.description = des_raster[[1]],
+                      spatial.raster.url = urlraster[[1]],
+                      other.entity=other[[1]],
+                      other.entity.name = name_other,
+                      other.entity.description = des_other[[1]],
+                      other.entity.url= urlother[[1]])}
+
+issues()
+old.names <- list.files(path=".", pattern=".xml")
+file.rename(from=old.names, to="eml.xml")
+
+
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/raster_templates.R	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,22 @@
+#15/12/2023 #SEGUINEAU Pauline 
+
+#Load packages
+
+library(EMLassemblyline)
+
+#Load arguments
+
+if (length(commandArgs(trailingOnly = TRUE)) > 0) {
+    data_raster <- commandArgs(trailingOnly = TRUE)[1]
+}
+
+#Transform arguments
+
+raster =  strsplit(data_raster," ")
+
+#Make templates to describe data raster
+
+template_raster_attributes(path = ".",data.path= "data_files", raster.file = raster[[1]])
+template_categorical_variables(path = ".", data.path = "data_files")
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taxo_cov_template.R	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,47 @@
+#28/11/2023
+#Seguineau Pauline
+#Make taxonomic coverage template
+
+#Load packages
+
+library(EMLassemblyline)
+
+#Load arguments
+
+args = commandArgs(trailingOnly=TRUE)
+if(length(args)>0){
+  data_taxa <- args[1]
+  taxa_table <- args[2]
+  taxa_col <- as.numeric(args[3])
+  taxa_name_type <- args[4]
+  authority <- as.numeric(args[5])
+  authority2 <- as.numeric(args[6])
+  authority3 <- as.numeric(args[7])
+  empty <- args[8]
+}
+
+#transfom arguments
+taxatable = read.table(data_taxa,header=T,sep="\t")
+taxacol = names(taxatable[taxa_col])
+
+if (authority2 == 0 && authority3==0){
+   authority_f = authority}
+   
+if(authority2 == 0 && authority3 != 0){
+   authority_f = c(authority,authority3)}
+
+if (authority2 !=0 && authority3==0){
+   authority_f = c(authority,authority2)}
+
+if (authority3 !=0 && authority2 !=0){
+   authority_f = c(authority,authority2,authority3)}
+   
+if (empty == "false"){
+   empty = FALSE
+}else if (empty=="true"){
+   empty=TRUE}
+
+
+#Make template
+
+template_taxonomic_coverage(path =".", data.path = "data_files", taxa.table = taxa_table, taxa.col = taxacol, taxa.name.type = taxa_name_type , taxa.authority = authority_f, empty = empty)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/Assessing_the_importance_of_field_margins_for_bat_species.xml	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,2074 @@
+<?xml version="1.0" encoding="UTF-8"?><eml:eml xmlns:eml="https://eml.ecoinformatics.org/eml-2.2.0" xmlns:stmml="http://www.xml-cml.org/schema/stmml-1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" packageId="doi:10.48502/hssh-5194" system="unknown" xsi:schemaLocation="https://eml.ecoinformatics.org/eml-2.2.0  https://nis.lternet.edu/schemas/EML/eml-2.2.0/xsd/eml.xsd">
+  <dataset id="dataset-02">
+    <title>Assessing the importance of field margins for bat species and communities in intensive agricultural landscapes - Data</title>
+    <creator>c
+      <individualName>
+        <givenName>Constance</givenName>
+        <givenName/>
+        <surName>Blary</surName>
+      </individualName>
+      <organizationName>CEFE</organizationName>
+      <electronicMailAddress>constance.blary@cefe.cnrs.fr</electronicMailAddress>
+      <userId directory="https://orcid.org">https://orcid.org/0000-0001-6204-9983</userId>
+    </creator>
+    <creator>
+      <individualName>
+        <givenName>Kévin</givenName>
+        <givenName/>
+        <surName>Barré</surName>
+      </individualName>
+      <organizationName>CESCO MNHN</organizationName>
+      <electronicMailAddress>kevin.barre@mnhn.fr</electronicMailAddress>
+      <userId directory="https://orcid.org">https://orcid.org/0000-0001-5368-4053</userId>
+    </creator>
+    <creator>
+      <individualName>
+        <givenName>Christian</givenName>
+        <givenName/>
+        <surName>Kerbiriou</surName>
+      </individualName>
+      <organizationName>CESCO</organizationName>
+      <electronicMailAddress>christian.kerbiriou@mnhn.fr</electronicMailAddress>
+      <userId directory="https://orcid.org">https://orcid.org/0000-0001-6080-4762</userId>
+    </creator>
+    <creator>
+      <individualName>
+        <givenName>Isabelle</givenName>
+        <givenName/>
+        <surName>Le Viol</surName>
+      </individualName>
+      <organizationName>CESCO</organizationName>
+      <electronicMailAddress>isabelle.le-viol@mnhn.fr</electronicMailAddress>
+    </creator>
+    <pubDate>2021-05-25</pubDate>
+    <abstract>
+      <para>Landscape simplification and degradation through agricultural intensification is widely recognized as a main driver of biodiversity loss. In intensively used agricultural landscapes, patches of semi-natural habitats and particularly connections between them are of high importance for many taxa. Vegetated connections like hedgerows are especially important for foraging and commuting of mobile taxa such as bats. However, the interest of another treeless linear habitat – herbaceous field margins – remains unstudied for insectivorous bats. Field margins are nevertheless known as an important habitat for other taxa, including bat prey. Here we assessed the importance of field margins for bats compared to other landscape variables. We measured bat activity based on a repeated passive acoustic monitoring during 17 complete nights in summer on 112 study sites in an intensively used agricultural landscape. Each night, we sampled bat species activity and community metrics (i.e. species richness and community habitat specialization index) at different distances to field margins, and along a gradient of relative density of field margins. To compare field margin effects with other landscape variables, the sampled sites were selected by keeping a large variability in these other variables (land-cover Shannon diversity index, forests, hedgerows, water bodies, main roads, urban areas, grasslands, number of crops and rapeseed percentage). Only Myotis sp. were affected by herbaceous field margins. Specifically, the Myotis group activity decreased with the distance to herbaceous field margins (i.e. towards field crop cores), and positively correlated with relative density of herbaceous field margins, for which the effect size was comparable to other landscape variables. However, other landscape variables such as the proportion of and the distance to forests, the relative density of and the distance to hedgerows or land-cover Shannon diversity index, affected species richness, community specialization index, and bat activity of species from open, edge and narrow-space foragers, including the Myotis group as well. Our results highlight that herbaceous field margins have a positive effect on the activity of narrow-space bat foragers as Myotis species, but do not replace other landscape variables that drive the activity of the whole community.
+</para>
+    </abstract>
+    <keywordSet>
+        <keyword>Acoustic monitoring</keyword>
+        <keyword>Bat community</keyword>
+        <keyword>Farmland biodiversity</keyword>
+        <keyword>Field borders</keyword>
+        <keyword>Habitat specialisation</keyword>
+        <keyword>Landscape composition</keyword>
+        <keywordThesaurus>Keywords</keywordThesaurus>
+    </keywordSet>
+    <intellectualRights>
+      <para>This information is released under the Creative Commons license - Attribution - CC BY (https://creativecommons.org/licenses/by/4.0/). The consumer of these data ("Data User" herein) is required to cite it appropriately in any publication that results from its use. The Data User should realize that these data may be actively used by others for ongoing research and that coordination may be necessary to prevent duplicate publication. The Data User is urged to contact the authors of these data if any questions about methodology or results occur. Where appropriate, the Data User is encouraged to consider collaboration or co-authorship with the authors. The Data User should realize that misinterpretation of data may occur if used out of context of the original study. While substantial efforts are made to ensure the accuracy of data and associated documentation, complete accuracy of data sets cannot be guaranteed. All data are made available "as is." The Data User should be aware, however, that data are updated periodically and it is the responsibility of the Data User to check for new versions of the data. The data authors and the repository where these data were obtained shall not be liable for damages resulting from any use or misinterpretation of the data. Thank you.
+</para>
+    </intellectualRights>
+    <coverage>
+      <geographicCoverage>
+        <geographicDescription>Yvelines - Essonne - Seine et Marne</geographicDescription>
+        <boundingCoordinates>
+          <westBoundingCoordinate>1.60296</westBoundingCoordinate>
+          <eastBoundingCoordinate>3.56409</eastBoundingCoordinate>
+          <northBoundingCoordinate>49.08428</northBoundingCoordinate>
+          <southBoundingCoordinate>48.12266</southBoundingCoordinate>
+        </boundingCoordinates>
+      </geographicCoverage>
+      <temporalCoverage>
+        <rangeOfDates>
+          <beginDate>
+            <calendarDate>2015-07-08</calendarDate>
+          </beginDate>
+          <endDate>
+            <calendarDate>2015-08-02</calendarDate>
+          </endDate>
+        </rangeOfDates>
+      </temporalCoverage>
+    </coverage>
+    <annotation id="kw3">
+        <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+        <valueURI label="biodiversity">http://aims.fao.org/aos/agrovoc/c_33949</valueURI>
+    </annotation>
+    <annotation id="kw4">
+        <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+        <valueURI label="mammals">http://aims.fao.org/aos/agrovoc/c_4560</valueURI>
+    </annotation>
+    <annotation id="kw5">
+        <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+        <valueURI label="chiroptera">http://aims.fao.org/aos/agrovoc/c_1560</valueURI>
+    </annotation>
+    <annotation id="kw55">
+        <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+        <valueURI label="bats">http://aims.fao.org/aos/agrovoc/c_1560</valueURI>
+    </annotation>
+    <annotation id="kw10">
+        <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+        <valueURI label="Landscape">http://www.eionet.europa.eu/gemet/concept/4648</valueURI>
+    </annotation>
+    <annotation id="kw1">
+        <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+        <valueURI label="Ecosystem"> http://www.eionet.europa.eu/gemet/concept/2519</valueURI>
+    </annotation>
+    <annotation id="kw2">
+        <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+        <valueURI label="Animal ecology">http://www.eionet.europa.eu/gemet/concept/420</valueURI>
+    </annotation>
+    <maintenance>
+      <description>ongoing</description>
+    </maintenance>
+    <contact>
+      <individualName>
+        <givenName>Constance</givenName>
+        <givenName>""</givenName>
+        <surName>Blary</surName>
+      </individualName>
+      <organizationName>CEFE</organizationName>
+      <electronicMailAddress>constance.blary@cefe.cnrs.fr</electronicMailAddress>
+              <userId directory="https://orcid.org">https://orcid.org/0000-0001-6204-9983</userId>
+    </contact>
+    <contact>
+      <individualName>
+        <givenName>Kévin</givenName>
+        <givenName>""</givenName>
+        <surName>Barré</surName>
+      </individualName>
+      <organizationName>CESCO MNHN</organizationName>
+      <electronicMailAddress>kevin.barre@mnhn.fr</electronicMailAddress>
+      <userId directory="https://orcid.org">https://orcid.org/0000-0001-5368-4053</userId>
+    </contact>
+    <methods>
+        <methodStep>
+            <description>The aim of the study was to investigate the potential of field margins to support bat activity compared to other landscape variables in agricultural landscapes. As a consequence, we chose the location of sampling sites in a way that limited correlations between field margins and other landscape variables to avoid statistical issues (see Statistical analysis section), and to maximise the gradient of each. The weather was highly stable and favourable to bats throughout the sampling period. We recorded bat activity on 112 sampling sites along a gradient of distances from 0 to 447 m from field margins (median: 60 m, median absolute deviation: 57 m) and along a gradient of relative density of field margins ranging from 0 to 64 m/ha (computed in different sizes of buffers around sampling sites, from 250 m to 4,000 m, see Landscape variable and Statistical analysis sections for more details about buffer sizes). Each night, we sampled simultaneously three to 11 sites at different densities of and distances from field margins, in order to limit potential correlations with temporal variables (i.e. weather, moon). Each site was sampled one time and echolocation calls were recorded on sites separated by at least 230 m from each other to avoid simultaneous recordings (see acoustic sampling section). Recorders were associated with a single microphone throughout the study and were homogeneously distributed between distances to the field margin and relative densities of field margins, in order to limit potential correlations between recorders and field margins variables.</description>
+            <instrumentation>Sampling was carried out over 17 nights from the 8th of July to the 2nd of August 2015, during the seasonal peak in bat activity. Recordings were performed during the entire night, from 30 min before sunset to 30 min after sunrise. Standardized acoustic bat survey was carried out using Song Meter SM2Bat+ and omnidirectional microphones SMX-US (Wildlife Acoustics Inc., Concord, MA, USA) put horizontally at one meter above the ground on a pole and pointed perpendicularly to the field margin. Recording was triggered automatically by ultrasounds between eight and 192 kHz, using a trigger level set to 6 dB Signal Noise Ratio and set to continue recording until two seconds after last trigger event, and a 384 kHz sampling rate, as widely used in many previous studies (e.g. Azam et al., 2016; Millon et al., 2017; Barré et al., 2017, 2019). As it is currently impossible to distinguish individual bats from their echolocation calls, it is not possible to count bat abundance. Instead, we used the number of bat passes recorded during a night as a measure of bat activity (however this metric is correlated to the abundance, see Mimet et al., 2020). We defined a bat pass as one or more echolocation call within a 5-second interval, which is a commonly accepted standard in Europe (Stahlschmidt and Brühl; 2012, Millon et al.; 2015, Kerbiriou et al. 2018; 2019; Put et al., 2019). We used the software TADARIDA (Bas et al., 2017) to automatically detect sound events and assign bat passes (11,324 bat passes for a total of ~450,000 calls) to the most accurate taxonomic level associated to a confidence score calculated by the software (i.e. the probability that a bat pass has been assigned to the right species). Two species groups were firstly constructed in order to limit identification errors: (i) a Myotis group (including Myotis nattereri, Myotis myotis, Myotis mystacinus and Myotis daubentonii) and (ii) a Plecotus group (including Plecotus austriacus and Plecotus auritus). In addition to these species-groups, we considered four species: (i) P. pipistrellus that are edge space foragers, (ii) Nyctalus leisleri and (iii) Nyctalus noctula that are open space foragers, and (iv) Eptesicus serotinus, that are edge space foragers (Robinson and Stebbincs, 1996). Given that automated identification can generate high error rates at species level, we followed the Barré et al. (2019) approach proposing a cautious method to ensure results robustness against automated identification errors. The method allows to model the error rate for each species or group, according to confidence scores of automated identifications provided by the software TADARIDA (Bas et al., 2017). This method allows to perform statistical analyses based on two levels of maximum error rate tolerance: first on a 0.5 maximum error rate tolerance and then by confirming results on a safer threshold of 0.1 maximum error rate tolerance. Indeed, each threshold of error rate tolerated in data involve different caveats which potentially induce biases in acoustic data (i.e. false positives and false negatives). The 0.5 maximum error rate tolerance keeps high number of bat passes for analysis including false positives, while a more restrictive 0.1 threshold limits false positives, but at the cost of discarding more true positives, which thus induce a loss of statistical power. As a consequence, checking the consistence in results whatever the threshold considered ensures robust conclusions (see Barré et al. 2019 for more details).</instrumentation>
+        </methodStep>
+        <sampling>
+            <studyExtent>
+                <description> The study was conducted in France, in the Île-de-France region (Yvelines, Essonne and Seine-et-Marne departments) in an intensively used agricultural landscape. This region is covered by 59% agricultural areas, 22% forests and semi natural areas, 18% artificial surfaces and 1% water bodies (Corine Land Cover data from 2016; https://www.data.gouv.fr/en/datasets/corine-land-cover-occupation-des-sols-en-france). The agricultural areas were dominated by arable land (90%) for intensive cropping (73 % of rapeseed, 7% of wheat, 3% of barley, based on manual mapping during the experiment in a 100 m radius around sampling sites). Crops were harvested before the study between the end of June and the beginning of July.
+We defined field margins as an herbaceous linear structure with only spontaneous vegetation, without fertilizers or pesticides immediately applied, without trees or bushes, 2 ± 1 m wide, and that were surrounding fields. </description>
+            </studyExtent>
+            <samplingDescription>Sampling was carried out over 17 nights from the 8th of July to the 2nd of August 2015, during the seasonal peak in bat activity. Recordings were performed during the entire night, from 30 min before sunset to 30 min after sunrise. Standardized acoustic bat survey was carried out using Song Meter SM2Bat+ and omnidirectional microphones SMX-US (Wildlife Acoustics Inc., Concord, MA, USA) put horizontally at one meter above the ground on a pole and pointed perpendicularly to the field margin. Recording was triggered automatically by ultrasounds between eight and 192 kHz, using a trigger level set to 6 dB Signal Noise Ratio and set to continue recording until two seconds after last trigger event, and a 384 kHz sampling rate, as widely used in many previous studies (e.g. Azam et al., 2016; Millon et al., 2017; Barré et al., 2017, 2019).
+As it is currently impossible to distinguish individual bats from their echolocation calls, it is not possible to count bat abundance. Instead, we used the number of bat passes recorded during a night as a measure of bat activity (however this metric is correlated to the abundance, see Mimet et al., 2020). We defined a bat pass as one or more echolocation call within a 5-second interval, which is a commonly accepted standard in Europe (Stahlschmidt and Brühl; 2012, Millon et al.; 2015, Kerbiriou et al. 2018; 2019; Put et al., 2019).</samplingDescription>
+        </sampling>
+    </methods>
+    <project>
+      <title>Effect of agricultural landscape features on bats</title>
+      <personnel>
+        <individualName>
+          <givenName>Kévin</givenName>
+          <givenName>""</givenName>
+          <surName>Barré</surName>
+        </individualName>
+        <organizationName>CESCO MNHN</organizationName>
+        <electronicMailAddress>kevin.barre@mnhn.fr</electronicMailAddress>
+        <userId directory="https://orcid.org">https://orcid.org/0000-0001-5368-4053</userId>
+        <role>Principal Investigator</role>
+      </personnel>
+      <funding>DIM ASTREA Région Ile-de-France, FRB</funding>
+    </project>
+    <dataTable>
+      <entityName>data_blary_al.tsv</entityName>
+      <entityDescription>Content of data_blary_al.txt</entityDescription>
+      <physical>
+        <objectName>data_blary_al.txt</objectName>
+        <size unit="bytes">79724</size>
+        <authentication method="MD5">189e312d6c6635a7ca21aa1b6c15bda2</authentication>
+        <dataFormat>
+          <textFormat>
+            <numHeaderLines>1</numHeaderLines>
+            <recordDelimiter>\r\n</recordDelimiter>
+            <attributeOrientation>column</attributeOrientation>
+            <simpleDelimited>
+              <fieldDelimiter>	</fieldDelimiter>
+            </simpleDelimited>
+          </textFormat>
+        </dataFormat>
+      </physical>
+      <attributeList>
+        <attribute>
+          <attributeName>Id</attributeName>
+          <attributeDefinition>Sampling site ID</attributeDefinition>
+          <storageType>string</storageType>
+          <measurementScale>
+            <nominal>
+              <nonNumericDomain>
+                <textDomain>
+                  <definition>sampling site ID</definition>
+                </textDomain>
+              </nonNumericDomain>
+            </nominal>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>dist_field_margin</attributeName>
+          <attributeDefinition>Distance to the nearest field margin element (in meters)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>meter</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0.197097079</minimum>
+                  <maximum exclusive="false">446.7105128</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>NA</code>
+            <codeExplanation>No information</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>dist_hedgerow</attributeName>
+          <attributeDefinition>Distance to the nearest hedgerow element (in meters)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>meter</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">26.18609735</minimum>
+                  <maximum exclusive="false">993.9548575</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>dist_forest</attributeName>
+          <attributeDefinition>Distance to the nearest forest element (in meters)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>meter</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">35.65219329</minimum>
+                  <maximum exclusive="false">2117.555351</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>dist_road</attributeName>
+          <attributeDefinition>Distance to the nearest road element (in meters)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>meter</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">26.78687042</minimum>
+                  <maximum exclusive="false">1906.832346</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>dist_water</attributeName>
+          <attributeDefinition>Distance to the nearest water body element (in meters)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>meter</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">293.5477229</minimum>
+                  <maximum exclusive="false">7059.607301</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>dist_urban</attributeName>
+          <attributeDefinition>Distance to the nearest urban element (in meters)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>meter</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">117.752441</minimum>
+                  <maximum exclusive="false">1660.510336</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>density_field_margins_250m</attributeName>
+          <attributeDefinition>Relative density of field margins in a 250 meters buffer around the sampling site (in meters per hectare)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">63.98307757</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>density_field_margins_500m</attributeName>
+          <attributeDefinition>Relative density of filed margins in a 500 meters buffer around the sampling site (in meters per hectare)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">1.30602297</minimum>
+                  <maximum exclusive="false">56.85356039</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>density_field_margins_750m</attributeName>
+          <attributeDefinition>Relative density of filed margins in a 750 meters buffer around the sampling site (in meters per hectare)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">3.76147295</minimum>
+                  <maximum exclusive="false">51.98107287</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>density_field_margins_1000m</attributeName>
+          <attributeDefinition>Relative density of filed margins in a 1000 meters buffer around the sampling site (in meters per hectare)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">7.016125291</minimum>
+                  <maximum exclusive="false">49.65501534</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>density_field_margins_1500m</attributeName>
+          <attributeDefinition>Relative density of filed margins in a 1500 meters buffer around the sampling site (in meters per hectare)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">13.19438883</minimum>
+                  <maximum exclusive="false">46.14576092</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>density_field_margins_2000m</attributeName>
+          <attributeDefinition>Relative density of filed margins in a 2000 meters buffer around the sampling site (in meters per hectare)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">14.31645702</minimum>
+                  <maximum exclusive="false">49.15383992</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>density_field_margins_4000m</attributeName>
+          <attributeDefinition>Relative density of filed margins in a 4000 meters buffer around the sampling site (in meters per hectare)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">12.0861939</minimum>
+                  <maximum exclusive="false">49.04803019</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>density_roads_250m</attributeName>
+          <attributeDefinition>Relative density of roads in a 250 meters buffer around the sampling site (in meters per hectare)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">41.24173899</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>density_roads_500m</attributeName>
+          <attributeDefinition>Relative density of roads in a 500 meters buffer around the sampling site (in meters per hectare)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">28.67314656</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>density_roads_750m</attributeName>
+          <attributeDefinition>Relative density of roads in a 750 meters buffer around the sampling site (in meters per hectare)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">21.52403654</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>density_roads_1000m</attributeName>
+          <attributeDefinition>Description for density_roads_1000m</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">16.31772774</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>density_roads_1500m</attributeName>
+          <attributeDefinition>Relative density of roads in a 1500 meters buffer around the sampling site (in meters per hectare)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">14.66196384</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>density_roads_2000m</attributeName>
+          <attributeDefinition>Relative density of roads in a 2000 meters buffer around the sampling site (in meters per hectare)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0.691124942</minimum>
+                  <maximum exclusive="false">15.21731043</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>density_roads_4000m</attributeName>
+          <attributeDefinition>Relative density of roads in a 4000 meters buffer around the sampling site (in meters per hectare)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">4.415217013</minimum>
+                  <maximum exclusive="false">12.96935098</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>density_hedgerows_250m</attributeName>
+          <attributeDefinition>Relative density of hedgerows in a 250 meters buffer around the sampling site (in meters per hectare)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">29.04454202</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>density_hedgerows_500m</attributeName>
+          <attributeDefinition>Relative density of hedgerows in a 500 meters buffer around the sampling site (in meters per hectare)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">30.69898208</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>density_hedgerows_750m</attributeName>
+          <attributeDefinition>Relative density of hedgerows in a 750 meters buffer around the sampling site (in meters per hectare)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">27.45535012</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>density_hedgerows_1000m</attributeName>
+          <attributeDefinition>Relative density of hedgerows in a 1000 meters buffer around the sampling site (in meters per hectare)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0.018214632</minimum>
+                  <maximum exclusive="false">20.45344062</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>density_hedgerows_1500m</attributeName>
+          <attributeDefinition>Relative density of hedgerows in a 1500 meters buffer around the sampling site (in meters per hectare)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0.28226013</minimum>
+                  <maximum exclusive="false">15.24459232</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>density_hedgerows_2000m</attributeName>
+          <attributeDefinition>Relative density of hedgerows in a 2000 meters buffer around the sampling site (in meters per hectare)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0.793527384</minimum>
+                  <maximum exclusive="false">16.1536311</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>density_hedgerows_4000m</attributeName>
+          <attributeDefinition>Relative density of hedgerows in a 4000 meters buffer around the sampling site (in meters per hectare)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">1.067627189</minimum>
+                  <maximum exclusive="false">12.42166846</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>shannon_250m</attributeName>
+          <attributeDefinition>Land-cover Shannon diversity index in 250 meters buffer around the sampling site (no unit of measurement)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">0.855530354</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>shannon_500m</attributeName>
+          <attributeDefinition>Land-cover Shannon diversity index in 500 meters buffer around the sampling site (no unit of measurement)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">0.977506236</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>shannon_750m</attributeName>
+          <attributeDefinition>Land-cover Shannon diversity index in 750 meters buffer around the sampling site (no unit of measurement)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0.009166349</minimum>
+                  <maximum exclusive="false">1.072124368</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>shannon_1000m</attributeName>
+          <attributeDefinition>Land-cover Shannon diversity index in 1000 meters buffer around the sampling site (no unit of measurement)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0.025382592</minimum>
+                  <maximum exclusive="false">1.123819367</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>shannon_1500m</attributeName>
+          <attributeDefinition>Land-cover Shannon diversity index in 1500 meters buffer around the sampling site (no unit of measurement)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0.050243126</minimum>
+                  <maximum exclusive="false">1.129956244</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>shannon_2000m</attributeName>
+          <attributeDefinition>Land-cover Shannon diversity index in 2000 meters buffer around the sampling site (no unit of measurement)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0.066009112</minimum>
+                  <maximum exclusive="false">1.190823677</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>shannon_4000m</attributeName>
+          <attributeDefinition>Land-cover Shannon diversity index in 4000 meters buffer around the sampling site (no unit of measurement)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0.188127771</minimum>
+                  <maximum exclusive="false">1.328685868</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>grassland_250</attributeName>
+          <attributeDefinition>Percentage of land covered by grassland in different 250 m buffer sizes</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>percent</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">46.5648855</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>forest_250m</attributeName>
+          <attributeDefinition>Percentage of land covered by forest in different 250 m buffer sizes</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>percent</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">30.25980642</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>urban_250m</attributeName>
+          <attributeDefinition>Percentage of land covered by urban area in different 250 m buffer sizes</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>percent</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">7.997962303</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>grassland_500</attributeName>
+          <attributeDefinition>Percentage of land covered by grassland in different 500 m buffer sizes</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>percent</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">35.31134598</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>forest_500m</attributeName>
+          <attributeDefinition>Percentage of land covered by forest in different 500 m buffer sizes</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>percent</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">29.51362363</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>urban_500m</attributeName>
+          <attributeDefinition>Percentage of land covered by urban area in different 500 m buffer sizes</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>percent</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">8.348180199</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>grassland_750</attributeName>
+          <attributeDefinition>Percentage of land covered by grassland in different 750 m buffer sizes</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>percent</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">23.93162393</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>forest_750m</attributeName>
+          <attributeDefinition>Percentage of land covered by forest in different 750 m buffer sizes</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>percent</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">37.17890687</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>urban_750m</attributeName>
+          <attributeDefinition>Percentage of land covered by urban area in different 750 m buffer sizes</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>percent</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">14.74017887</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>grassland_1000</attributeName>
+          <attributeDefinition>Percentage of land covered by grassland in different 1000 m buffer sizes</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>percent</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">20.70600968</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>forest_1000m</attributeName>
+          <attributeDefinition>Percentage of land covered by forest in different 1000 m buffer sizes</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>percent</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">39.53725216</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>urban_1000m</attributeName>
+          <attributeDefinition>Percentage of land covered by urban area in different 1000 m buffer sizes</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>percent</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">19.74593269</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>grassland_1500</attributeName>
+          <attributeDefinition>Percentage of land covered by grassland in different 1500 m buffer sizes</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>percent</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0.026879439</minimum>
+                  <maximum exclusive="false">13.52712356</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>forest_1500m</attributeName>
+          <attributeDefinition>Percentage of land covered by forest in different 1500 m buffer sizes</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>percent</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0.014150076</minimum>
+                  <maximum exclusive="false">46.80246128</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>urban_1500m</attributeName>
+          <attributeDefinition>Percentage of land covered by urban area in different 1500 m buffer sizes</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>percent</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0.063679846</minimum>
+                  <maximum exclusive="false">28.33451252</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>grassland_2000</attributeName>
+          <attributeDefinition>Percentage of land covered by grassland in different 2000 m buffer sizes</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>percent</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0.082766305</minimum>
+                  <maximum exclusive="false">9.971589326</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>forest_2000m</attributeName>
+          <attributeDefinition>Description for forest_2000m</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>percent</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0.008754128</minimum>
+                  <maximum exclusive="false">49.82452231</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>urban_2000m</attributeName>
+          <attributeDefinition>Percentage of land covered by urban area in different 2000 m buffer sizes</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>percent</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0.421796535</minimum>
+                  <maximum exclusive="false">25.34798768</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>grassland_4000</attributeName>
+          <attributeDefinition>Percentage of land covered by grassland in different 4000 m buffer sizes</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>percent</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0.174480141</minimum>
+                  <maximum exclusive="false">8.655696087</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>forest_4000m</attributeName>
+          <attributeDefinition>Percentage of land covered by forest in different 4000 m buffer sizes</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>percent</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0.37902</minimum>
+                  <maximum exclusive="false">56.74757214</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>urban_4000m</attributeName>
+          <attributeDefinition>Percentage of land covered by urban area in different 4000 m buffer sizes</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>percent</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">1.227729864</minimum>
+                  <maximum exclusive="false">18.25776748</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>perc_rapeseed</attributeName>
+          <attributeDefinition>Percentage of rapeseed crops in a 100 m radius around each site at the sampling date</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>percent</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">1</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>nb_crops</attributeName>
+          <attributeDefinition>Number of different crops in a 100 m radius around each site at the sampling date</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>number</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>natural</numberType>
+                <bounds>
+                  <minimum exclusive="false">1</minimum>
+                  <maximum exclusive="false">4</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>date</attributeName>
+          <attributeDefinition>Description for date</attributeDefinition>
+          <storageType>date</storageType>
+          <measurementScale>
+            <dateTime>
+              <formatString>YYYY-MM-DD</formatString>
+              <dateTimeDomain/>
+            </dateTime>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute id="x">
+          <attributeName>X</attributeName>
+          <attributeDefinition>Sampling site longitude</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>natural</numberType>
+                <bounds>
+                  <minimum exclusive="false">616338</minimum>
+                  <maximum exclusive="false">742845</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+          <annotation>
+              <propertyURI label="is a">http://www.w3.org/1999/02/22-rdf-syntax-ns#type</propertyURI>
+              <valueURI label="decimalLongitude">http://rs.tdwg.org/dwc/terms/decimalLongitude</valueURI>
+          </annotation>
+        </attribute>
+        <attribute id="y">
+          <attributeName>Y</attributeName>
+          <attributeDefinition>Sampling site latitude</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>natural</numberType>
+                <bounds>
+                  <minimum exclusive="false">6784925</minimum>
+                  <maximum exclusive="false">6847092</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+          <annotation>
+              <propertyURI label="is a">http://www.w3.org/1999/02/22-rdf-syntax-ns#type</propertyURI>
+              <valueURI label="decimalLatitude">http://rs.tdwg.org/dwc/terms/decimalLatitude</valueURI>
+          </annotation>
+        </attribute>
+        <attribute>
+          <attributeName>recorder</attributeName>
+          <attributeDefinition>Recorder ID used for data collection on the sampling site</attributeDefinition>
+          <storageType>string</storageType>
+          <measurementScale>
+            <nominal>
+              <nonNumericDomain>
+                <enumeratedDomain>
+                  <codeDefinition>
+                    <code>10250</code>
+                    <definition>Value: 10250 for attribute: recorder</definition>
+                  </codeDefinition>
+                  <codeDefinition>
+                    <code>11693</code>
+                    <definition>Value: 11693 for attribute: recorder</definition>
+                  </codeDefinition>
+                  <codeDefinition>
+                    <code>13289</code>
+                    <definition>Value: 13289 for attribute: recorder</definition>
+                  </codeDefinition>
+                  <codeDefinition>
+                    <code>13676</code>
+                    <definition>Value: 13676 for attribute: recorder</definition>
+                  </codeDefinition>
+                  <codeDefinition>
+                    <code>13733</code>
+                    <definition>Value: 13733 for attribute: recorder</definition>
+                  </codeDefinition>
+                  <codeDefinition>
+                    <code>13740</code>
+                    <definition>Value: 13740 for attribute: recorder</definition>
+                  </codeDefinition>
+                  <codeDefinition>
+                    <code>17232</code>
+                    <definition>Value: 17232 for attribute: recorder</definition>
+                  </codeDefinition>
+                  <codeDefinition>
+                    <code>17329</code>
+                    <definition>Value: 17329 for attribute: recorder</definition>
+                  </codeDefinition>
+                  <codeDefinition>
+                    <code>17573</code>
+                    <definition>Value: 17573 for attribute: recorder</definition>
+                  </codeDefinition>
+                  <codeDefinition>
+                    <code>17578</code>
+                    <definition>Value: 17578 for attribute: recorder</definition>
+                  </codeDefinition>
+                  <codeDefinition>
+                    <code>17598</code>
+                    <definition>Value: 17598 for attribute: recorder</definition>
+                  </codeDefinition>
+                  <codeDefinition>
+                    <code>17601</code>
+                    <definition>Value: 17601 for attribute: recorder</definition>
+                  </codeDefinition>
+                  <codeDefinition>
+                    <code>17607</code>
+                    <definition>Value: 17607 for attribute: recorder</definition>
+                  </codeDefinition>
+                  <codeDefinition>
+                    <code>17608</code>
+                    <definition>Value: 17608 for attribute: recorder</definition>
+                  </codeDefinition>
+                  <codeDefinition>
+                    <code>3760</code>
+                    <definition>Value: 3760 for attribute: recorder</definition>
+                  </codeDefinition>
+                </enumeratedDomain>
+              </nonNumericDomain>
+            </nominal>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>min_t</attributeName>
+          <attributeDefinition>Minimum temperature recorded on the sampling area during the sampling night (in celsius)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>celsius</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">8.1</minimum>
+                  <maximum exclusive="false">20</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>max_wind</attributeName>
+          <attributeDefinition>Maximum wind speed recorded on the sampling area during the sampling night (in km/h)</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>kilometerPerHour</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>whole</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">30</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>CSI_ER05</attributeName>
+          <attributeDefinition>Community specialization index calculated from species level activity on the 0.5 maximum error rate tolerance threshold</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0.004968013</minimum>
+                  <maximum exclusive="false">0.241732748</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>CSI_ER01</attributeName>
+          <attributeDefinition>Community specialization index calculated from species level activity on the 0.1 maximum error rate tolerance threshold</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>real</numberType>
+                <bounds>
+                  <minimum exclusive="false">0.00199574</minimum>
+                  <maximum exclusive="false">0.238529275</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>richness_ER05</attributeName>
+          <attributeDefinition>Species richness calculated from species level activity on the 0.5 maximum error rate tolerance threshold</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>whole</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">11</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>richness_ER01</attributeName>
+          <attributeDefinition>Species richness calculated from species level activity on the 0.1 maximum error rate tolerance threshold</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>dimensionless</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>whole</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">9</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>Nyclei_ER05</attributeName>
+          <attributeDefinition>Number of bat passes of Nyclei specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>number</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>whole</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">51</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>Nyclei_ER01</attributeName>
+          <attributeDefinition>Number of bat passes of Nyclei specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>number</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>whole</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">49</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>Pippip_ER05</attributeName>
+          <attributeDefinition>Number of bat passes of Pippip specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>number</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>whole</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">863</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>Pippip_ER01</attributeName>
+          <attributeDefinition>Number of bat passes of Pippip specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>number</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>whole</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">842</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>Eptser_ER05</attributeName>
+          <attributeDefinition>Number of bat passes of Epster specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>number</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>whole</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">65</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>Eptser_ER01</attributeName>
+          <attributeDefinition>Number of bat passes of Epster specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>number</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>whole</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">40</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>Nycnoc_ER05</attributeName>
+          <attributeDefinition>Number of bat passes of Nycnoc specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>number</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>whole</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">17</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>Nycnoc_ER01</attributeName>
+          <attributeDefinition>Number of bat passes of Nycnoc specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>number</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>whole</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">13</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>Myo_ER05</attributeName>
+          <attributeDefinition>Number of bat passes of Myo specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>number</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>whole</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">42</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>Myo_ER01</attributeName>
+          <attributeDefinition>Number of bat passes of Myo specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>number</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>whole</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">33</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>Ple_ER05</attributeName>
+          <attributeDefinition>Number of bat passes of Ple specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>number</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>whole</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">8</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+        <attribute>
+          <attributeName>Ple_ER01</attributeName>
+          <attributeDefinition>Number of bat passes of Ple specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold</attributeDefinition>
+          <storageType>float</storageType>
+          <measurementScale>
+            <ratio>
+              <unit>
+                <standardUnit>number</standardUnit>
+              </unit>
+              <numericDomain>
+                <numberType>whole</numberType>
+                <bounds>
+                  <minimum exclusive="false">0</minimum>
+                  <maximum exclusive="false">5</maximum>
+                </bounds>
+              </numericDomain>
+            </ratio>
+          </measurementScale>
+          <missingValueCode>
+            <code>"NA"</code>
+            <codeExplanation>"No information"</codeExplanation>
+          </missingValueCode>
+        </attribute>
+      </attributeList>
+      <numberOfRecords>112</numberOfRecords>
+    </dataTable>
+  </dataset>
+</eml:eml>
Binary file test-data/Present_Surface_pH.tif has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotations.tabular	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,10 @@
+id	element	context	subject	predicate_label	predicate_uri	object_label	object_uri
+/dataset	/dataset	eml	dataset	is about	http://purl.obolibrary.org/obo/IAO_0000136	biodiversity	http://aims.fao.org/aos/agrovoc/c_33949
+/dataset	/dataset	eml	dataset	is about	http://purl.obolibrary.org/obo/IAO_0000136	mammals	http://aims.fao.org/aos/agrovoc/c_4560
+/dataset	/dataset	eml	dataset	is about	http://purl.obolibrary.org/obo/IAO_0000136	chiroptera	http://aims.fao.org/aos/agrovoc/c_1560
+/dataset	/dataset	eml	dataset	is about	http://purl.obolibrary.org/obo/IAO_0000136	bats	http://aims.fao.org/aos/agrovoc/c_1560
+/dataset	/dataset	eml	dataset	is about	http://purl.obolibrary.org/obo/IAO_0000136	Landscape	http://www.eionet.europa.eu/gemet/concept/4648
+/dataset	/dataset	eml	dataset	is about	http://purl.obolibrary.org/obo/IAO_0000136	Ecosystem	http://www.eionet.europa.eu/gemet/concept/2519
+/dataset	/dataset	eml	dataset	is about	http://purl.obolibrary.org/obo/IAO_0000136	Animal ecology	http://www.eionet.europa.eu/gemet/concept/420
+/data_blary_al.txt/X	/dataTable/attribute	data_blary_al.txt	X	is a	http://www.w3.org/1999/02/22-rdf-syntax-ns#type	decimalLongitude	http://rs.tdwg.org/dwc/terms/decimalLongitude
+/data_blary_al.txt/Y	/dataTable/attribute	data_blary_al.txt	Y	is a	http://www.w3.org/1999/02/22-rdf-syntax-ns#type	decimalLatitude	http://rs.tdwg.org/dwc/terms/decimalLatitude
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotations.txt	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,10 @@
+id	element	context	subject	predicate_label	predicate_uri	object_label	object_uri
+/dataset	/dataset	eml	dataset	is about	http://purl.obolibrary.org/obo/IAO_0000136	biodiversity	http://aims.fao.org/aos/agrovoc/c_33949
+/dataset	/dataset	eml	dataset	is about	http://purl.obolibrary.org/obo/IAO_0000136	mammals	http://aims.fao.org/aos/agrovoc/c_4560
+/dataset	/dataset	eml	dataset	is about	http://purl.obolibrary.org/obo/IAO_0000136	chiroptera	http://aims.fao.org/aos/agrovoc/c_1560
+/dataset	/dataset	eml	dataset	is about	http://purl.obolibrary.org/obo/IAO_0000136	bats	http://aims.fao.org/aos/agrovoc/c_1560
+/dataset	/dataset	eml	dataset	is about	http://purl.obolibrary.org/obo/IAO_0000136	Landscape	http://www.eionet.europa.eu/gemet/concept/4648
+/dataset	/dataset	eml	dataset	is about	http://purl.obolibrary.org/obo/IAO_0000136	Ecosystem	http://www.eionet.europa.eu/gemet/concept/2519
+/dataset	/dataset	eml	dataset	is about	http://purl.obolibrary.org/obo/IAO_0000136	Animal ecology	http://www.eionet.europa.eu/gemet/concept/420
+/data_blary_al.txt/X	/dataTable/attribute	data_blary_al.txt	X	is a	http://www.w3.org/1999/02/22-rdf-syntax-ns#type	decimalLongitude	http://rs.tdwg.org/dwc/terms/decimalLongitude
+/data_blary_al.txt/Y	/dataTable/attribute	data_blary_al.txt	Y	is a	http://www.w3.org/1999/02/22-rdf-syntax-ns#type	decimalLatitude	http://rs.tdwg.org/dwc/terms/decimalLatitude
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotemp/abstract.txt	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,1 @@
+The Dumont D’Urville sea located off George V and Adélie Land, is one of the better known East-Antarctic marine areas displaying a diversity of abiotic and physical parameters that have been shown to drive the distribution of marine organisms. The dataset presented here contributes to our understanding of these interactions, providing essential information for ongoing research and conservation efforts in this Antarctic ecosystem. This dataset presents a table containing abiotic and physical parameters specific to the Dumont D’Urville Sea and a Jupyter notebook to execute a R script in the ecoregionalization Galaxy workflow. The abiotic and physical parameters were first presented in the research article 'Predicting habitat preferences for Anthometrina adriani (Echinodermata) on the East Antarctic continental shelf' by Hemery et al. (2011). The jupyter notebook is dedicated to the pivot_wider function from the tidyr R package. This notebook is the final part of the data preparation for the ecoregionalization Galaxy workflow. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotemp/annotations_template.txt	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,95 @@
+id	element	context	subject	predicate_label	predicate_uri	object_label	object_uri
+/dataset	/dataset	eml	dataset	is about	http://purl.obolibrary.org/obo/IAO_0000136		
+/data_blary_al.txt	/dataTable	dataset	data_blary_al.txt	is about	http://purl.obolibrary.org/obo/IAO_0000136		
+/data_blary_al.txt/Id	/dataTable/attribute	data_blary_al.txt	Id	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/dist_field_margin	/dataTable/attribute	data_blary_al.txt	dist_field_margin	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/dist_hedgerow	/dataTable/attribute	data_blary_al.txt	dist_hedgerow	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/dist_forest	/dataTable/attribute	data_blary_al.txt	dist_forest	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/dist_road	/dataTable/attribute	data_blary_al.txt	dist_road	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/dist_water	/dataTable/attribute	data_blary_al.txt	dist_water	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/dist_urban	/dataTable/attribute	data_blary_al.txt	dist_urban	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/density_field_margins_250m	/dataTable/attribute	data_blary_al.txt	density_field_margins_250m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/density_field_margins_500m	/dataTable/attribute	data_blary_al.txt	density_field_margins_500m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/density_field_margins_750m	/dataTable/attribute	data_blary_al.txt	density_field_margins_750m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/density_field_margins_1000m	/dataTable/attribute	data_blary_al.txt	density_field_margins_1000m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/density_field_margins_1500m	/dataTable/attribute	data_blary_al.txt	density_field_margins_1500m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/density_field_margins_2000m	/dataTable/attribute	data_blary_al.txt	density_field_margins_2000m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/density_field_margins_4000m	/dataTable/attribute	data_blary_al.txt	density_field_margins_4000m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/density_roads_250m	/dataTable/attribute	data_blary_al.txt	density_roads_250m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/density_roads_500m	/dataTable/attribute	data_blary_al.txt	density_roads_500m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/density_roads_750m	/dataTable/attribute	data_blary_al.txt	density_roads_750m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/density_roads_1000m	/dataTable/attribute	data_blary_al.txt	density_roads_1000m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/density_roads_1500m	/dataTable/attribute	data_blary_al.txt	density_roads_1500m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/density_roads_2000m	/dataTable/attribute	data_blary_al.txt	density_roads_2000m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/density_roads_4000m	/dataTable/attribute	data_blary_al.txt	density_roads_4000m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/density_hedgerows_250m	/dataTable/attribute	data_blary_al.txt	density_hedgerows_250m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/density_hedgerows_500m	/dataTable/attribute	data_blary_al.txt	density_hedgerows_500m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/density_hedgerows_750m	/dataTable/attribute	data_blary_al.txt	density_hedgerows_750m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/density_hedgerows_1000m	/dataTable/attribute	data_blary_al.txt	density_hedgerows_1000m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/density_hedgerows_1500m	/dataTable/attribute	data_blary_al.txt	density_hedgerows_1500m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/density_hedgerows_2000m	/dataTable/attribute	data_blary_al.txt	density_hedgerows_2000m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/density_hedgerows_4000m	/dataTable/attribute	data_blary_al.txt	density_hedgerows_4000m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/shannon_250m	/dataTable/attribute	data_blary_al.txt	shannon_250m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/shannon_500m	/dataTable/attribute	data_blary_al.txt	shannon_500m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/shannon_750m	/dataTable/attribute	data_blary_al.txt	shannon_750m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/shannon_1000m	/dataTable/attribute	data_blary_al.txt	shannon_1000m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/shannon_1500m	/dataTable/attribute	data_blary_al.txt	shannon_1500m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/shannon_2000m	/dataTable/attribute	data_blary_al.txt	shannon_2000m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/shannon_4000m	/dataTable/attribute	data_blary_al.txt	shannon_4000m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/grassland_250	/dataTable/attribute	data_blary_al.txt	grassland_250	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/forest_250m	/dataTable/attribute	data_blary_al.txt	forest_250m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/urban_250m	/dataTable/attribute	data_blary_al.txt	urban_250m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/grassland_500	/dataTable/attribute	data_blary_al.txt	grassland_500	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/forest_500m	/dataTable/attribute	data_blary_al.txt	forest_500m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/urban_500m	/dataTable/attribute	data_blary_al.txt	urban_500m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/grassland_750	/dataTable/attribute	data_blary_al.txt	grassland_750	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/forest_750m	/dataTable/attribute	data_blary_al.txt	forest_750m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/urban_750m	/dataTable/attribute	data_blary_al.txt	urban_750m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/grassland_1000	/dataTable/attribute	data_blary_al.txt	grassland_1000	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/forest_1000m	/dataTable/attribute	data_blary_al.txt	forest_1000m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/urban_1000m	/dataTable/attribute	data_blary_al.txt	urban_1000m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/grassland_1500	/dataTable/attribute	data_blary_al.txt	grassland_1500	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/forest_1500m	/dataTable/attribute	data_blary_al.txt	forest_1500m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/urban_1500m	/dataTable/attribute	data_blary_al.txt	urban_1500m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/grassland_2000	/dataTable/attribute	data_blary_al.txt	grassland_2000	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/forest_2000m	/dataTable/attribute	data_blary_al.txt	forest_2000m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/urban_2000m	/dataTable/attribute	data_blary_al.txt	urban_2000m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/grassland_4000	/dataTable/attribute	data_blary_al.txt	grassland_4000	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/forest_4000m	/dataTable/attribute	data_blary_al.txt	forest_4000m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/urban_4000m	/dataTable/attribute	data_blary_al.txt	urban_4000m	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/perc_rapeseed	/dataTable/attribute	data_blary_al.txt	perc_rapeseed	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/nb_crops	/dataTable/attribute	data_blary_al.txt	nb_crops	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/date	/dataTable/attribute	data_blary_al.txt	date	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/X	/dataTable/attribute	data_blary_al.txt	X	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/Y	/dataTable/attribute	data_blary_al.txt	Y	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/recorder	/dataTable/attribute	data_blary_al.txt	recorder	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/min_t	/dataTable/attribute	data_blary_al.txt	min_t	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/max_wind	/dataTable/attribute	data_blary_al.txt	max_wind	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/CSI_ER05	/dataTable/attribute	data_blary_al.txt	CSI_ER05	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/CSI_ER01	/dataTable/attribute	data_blary_al.txt	CSI_ER01	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/richness_ER05	/dataTable/attribute	data_blary_al.txt	richness_ER05	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/richness_ER01	/dataTable/attribute	data_blary_al.txt	richness_ER01	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/Nyclei_ER05	/dataTable/attribute	data_blary_al.txt	Nyclei_ER05	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/Nyclei_ER01	/dataTable/attribute	data_blary_al.txt	Nyclei_ER01	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/Pippip_ER05	/dataTable/attribute	data_blary_al.txt	Pippip_ER05	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/Pippip_ER01	/dataTable/attribute	data_blary_al.txt	Pippip_ER01	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/Eptser_ER05	/dataTable/attribute	data_blary_al.txt	Eptser_ER05	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/Eptser_ER01	/dataTable/attribute	data_blary_al.txt	Eptser_ER01	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/Nycnoc_ER05	/dataTable/attribute	data_blary_al.txt	Nycnoc_ER05	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/Nycnoc_ER01	/dataTable/attribute	data_blary_al.txt	Nycnoc_ER01	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/Myo_ER05	/dataTable/attribute	data_blary_al.txt	Myo_ER05	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/Myo_ER01	/dataTable/attribute	data_blary_al.txt	Myo_ER01	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/Ple_ER05	/dataTable/attribute	data_blary_al.txt	Ple_ER05	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/data_blary_al.txt/Ple_ER01	/dataTable/attribute	data_blary_al.txt	Ple_ER01	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/Blary Constance	/ResponsibleParty	dataset	Blary Constance	is a	http://www.w3.org/1999/02/22-rdf-syntax-ns#type	Person	https://schema.org/Person
+/Blary Constance	/ResponsibleParty	dataset	Blary Constance	member of	https://schema.org/memberOf		
+/Barré Kévin	/ResponsibleParty	dataset	Barré Kévin	is a	http://www.w3.org/1999/02/22-rdf-syntax-ns#type	Person	https://schema.org/Person
+/Barré Kévin	/ResponsibleParty	dataset	Barré Kévin	member of	https://schema.org/memberOf		
+/Kerbiriou Christian	/ResponsibleParty	dataset	Kerbiriou Christian	is a	http://www.w3.org/1999/02/22-rdf-syntax-ns#type	Person	https://schema.org/Person
+/Kerbiriou Christian	/ResponsibleParty	dataset	Kerbiriou Christian	member of	https://schema.org/memberOf		
+/Le Viol Isabelle	/ResponsibleParty	dataset	Le Viol Isabelle	is a	http://www.w3.org/1999/02/22-rdf-syntax-ns#type	Person	https://schema.org/Person
+/Le Viol Isabelle	/ResponsibleParty	dataset	Le Viol Isabelle	member of	https://schema.org/memberOf		
+/Blary Constance ""	/ResponsibleParty	dataset	Blary Constance ""	is a	http://www.w3.org/1999/02/22-rdf-syntax-ns#type	Person	https://schema.org/Person
+/Blary Constance ""	/ResponsibleParty	dataset	Blary Constance ""	member of	https://schema.org/memberOf		
+/Barré Kévin ""	/ResponsibleParty	dataset	Barré Kévin ""	is a	http://www.w3.org/1999/02/22-rdf-syntax-ns#type	Person	https://schema.org/Person
+/Barré Kévin ""	/ResponsibleParty	dataset	Barré Kévin ""	member of	https://schema.org/memberOf		
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotemp/annotations_template_2.txt	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,33 @@
+id	element	context	subject	predicate_label	predicate_uri	object_label	object_uri
+/dataset	/dataset	eml	dataset	is about	http://purl.obolibrary.org/obo/IAO_0000136		
+/ceamarc_env.tsv	/dataTable	dataset	ceamarc_env.tsv	is about	http://purl.obolibrary.org/obo/IAO_0000136		
+/ceamarc_env.tsv/long	/dataTable/attribute	ceamarc_env.tsv	long	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/lat	/dataTable/attribute	ceamarc_env.tsv	lat	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Carbo	/dataTable/attribute	ceamarc_env.tsv	Carbo	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Grav	/dataTable/attribute	ceamarc_env.tsv	Grav	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Maxbearing	/dataTable/attribute	ceamarc_env.tsv	Maxbearing	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Maxmagnit	/dataTable/attribute	ceamarc_env.tsv	Maxmagnit	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Meancurmag	/dataTable/attribute	ceamarc_env.tsv	Meancurmag	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Meansal	/dataTable/attribute	ceamarc_env.tsv	Meansal	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Meantheta	/dataTable/attribute	ceamarc_env.tsv	Meantheta	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Mud	/dataTable/attribute	ceamarc_env.tsv	Mud	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Prof	/dataTable/attribute	ceamarc_env.tsv	Prof	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Rugosity	/dataTable/attribute	ceamarc_env.tsv	Rugosity	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Sand	/dataTable/attribute	ceamarc_env.tsv	Sand	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Seaice_prod	/dataTable/attribute	ceamarc_env.tsv	Seaice_prod	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Sili	/dataTable/attribute	ceamarc_env.tsv	Sili	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Slope	/dataTable/attribute	ceamarc_env.tsv	Slope	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Standcurmag	/dataTable/attribute	ceamarc_env.tsv	Standcurmag	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Standsal	/dataTable/attribute	ceamarc_env.tsv	Standsal	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Standtheta	/dataTable/attribute	ceamarc_env.tsv	Standtheta	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/pivot_wider_jupytool_notebook.ipynb	/otherEntity	dataset	pivot_wider_jupytool_notebook.ipynb	is about	http://purl.obolibrary.org/obo/IAO_0000136		
+/Marc Eléaume	/ResponsibleParty	dataset	Marc Eléaume	is a	http://www.w3.org/1999/02/22-rdf-syntax-ns#type	Person	https://schema.org/Person
+/Marc Eléaume	/ResponsibleParty	dataset	Marc Eléaume	member of	https://schema.org/memberOf		
+/Lenaïg G. Hemery	/ResponsibleParty	dataset	Lenaïg G. Hemery	is a	http://www.w3.org/1999/02/22-rdf-syntax-ns#type	Person	https://schema.org/Person
+/Lenaïg G. Hemery	/ResponsibleParty	dataset	Lenaïg G. Hemery	member of	https://schema.org/memberOf		
+/Ben Galton-Fenzi	/ResponsibleParty	dataset	Ben Galton-Fenzi	is a	http://www.w3.org/1999/02/22-rdf-syntax-ns#type	Person	https://schema.org/Person
+/Ben Galton-Fenzi	/ResponsibleParty	dataset	Ben Galton-Fenzi	member of	https://schema.org/memberOf		
+/Pauline Seguineau	/ResponsibleParty	dataset	Pauline Seguineau	is a	http://www.w3.org/1999/02/22-rdf-syntax-ns#type	Person	https://schema.org/Person
+/Pauline Seguineau	/ResponsibleParty	dataset	Pauline Seguineau	member of	https://schema.org/memberOf		
+/Yvan Le Bras	/ResponsibleParty	dataset	Yvan Le Bras	is a	http://www.w3.org/1999/02/22-rdf-syntax-ns#type	Person	https://schema.org/Person
+/Yvan Le Bras	/ResponsibleParty	dataset	Yvan Le Bras	member of	https://schema.org/memberOf		
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotemp/annotations_template_3.txt	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,32 @@
+id	element	context	subject	predicate_label	predicate_uri	object_label	object_uri
+/dataset	/dataset	eml	dataset	is about	http://purl.obolibrary.org/obo/IAO_0000136		
+/ceamarc_env.tsv	/dataTable	dataset	ceamarc_env.tsv	is about	http://purl.obolibrary.org/obo/IAO_0000136		
+/ceamarc_env.tsv/long	/dataTable/attribute	ceamarc_env.tsv	long	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/lat	/dataTable/attribute	ceamarc_env.tsv	lat	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Carbo	/dataTable/attribute	ceamarc_env.tsv	Carbo	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Grav	/dataTable/attribute	ceamarc_env.tsv	Grav	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Maxbearing	/dataTable/attribute	ceamarc_env.tsv	Maxbearing	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Maxmagnit	/dataTable/attribute	ceamarc_env.tsv	Maxmagnit	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Meancurmag	/dataTable/attribute	ceamarc_env.tsv	Meancurmag	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Meansal	/dataTable/attribute	ceamarc_env.tsv	Meansal	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Meantheta	/dataTable/attribute	ceamarc_env.tsv	Meantheta	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Mud	/dataTable/attribute	ceamarc_env.tsv	Mud	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Prof	/dataTable/attribute	ceamarc_env.tsv	Prof	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Rugosity	/dataTable/attribute	ceamarc_env.tsv	Rugosity	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Sand	/dataTable/attribute	ceamarc_env.tsv	Sand	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Seaice_prod	/dataTable/attribute	ceamarc_env.tsv	Seaice_prod	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Sili	/dataTable/attribute	ceamarc_env.tsv	Sili	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Slope	/dataTable/attribute	ceamarc_env.tsv	Slope	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Standcurmag	/dataTable/attribute	ceamarc_env.tsv	Standcurmag	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Standsal	/dataTable/attribute	ceamarc_env.tsv	Standsal	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/ceamarc_env.tsv/Standtheta	/dataTable/attribute	ceamarc_env.tsv	Standtheta	contains measurements of type	http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType		
+/Marc Eléaume	/ResponsibleParty	dataset	Marc Eléaume	is a	http://www.w3.org/1999/02/22-rdf-syntax-ns#type	Person	https://schema.org/Person
+/Marc Eléaume	/ResponsibleParty	dataset	Marc Eléaume	member of	https://schema.org/memberOf		
+/Lenaïg G. Hemery	/ResponsibleParty	dataset	Lenaïg G. Hemery	is a	http://www.w3.org/1999/02/22-rdf-syntax-ns#type	Person	https://schema.org/Person
+/Lenaïg G. Hemery	/ResponsibleParty	dataset	Lenaïg G. Hemery	member of	https://schema.org/memberOf		
+/Ben Galton-Fenzi	/ResponsibleParty	dataset	Ben Galton-Fenzi	is a	http://www.w3.org/1999/02/22-rdf-syntax-ns#type	Person	https://schema.org/Person
+/Ben Galton-Fenzi	/ResponsibleParty	dataset	Ben Galton-Fenzi	member of	https://schema.org/memberOf		
+/Pauline Seguineau	/ResponsibleParty	dataset	Pauline Seguineau	is a	http://www.w3.org/1999/02/22-rdf-syntax-ns#type	Person	https://schema.org/Person
+/Pauline Seguineau	/ResponsibleParty	dataset	Pauline Seguineau	member of	https://schema.org/memberOf		
+/Yvan Le Bras	/ResponsibleParty	dataset	Yvan Le Bras	is a	http://www.w3.org/1999/02/22-rdf-syntax-ns#type	Person	https://schema.org/Person
+/Yvan Le Bras	/ResponsibleParty	dataset	Yvan Le Bras	member of	https://schema.org/memberOf		
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotemp/annotations_template_4.txt	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,13 @@
+id	element	context	subject	predicate_label	predicate_uri	object_label	object_uri
+/dataset	/dataset	eml	dataset	is about	http://purl.obolibrary.org/obo/IAO_0000136		
+/pivot_wider_jupytool_notebook.ipynb	/otherEntity	dataset	pivot_wider_jupytool_notebook.ipynb	is about	http://purl.obolibrary.org/obo/IAO_0000136		
+/Marc Eléaume	/ResponsibleParty	dataset	Marc Eléaume	is a	http://www.w3.org/1999/02/22-rdf-syntax-ns#type	Person	https://schema.org/Person
+/Marc Eléaume	/ResponsibleParty	dataset	Marc Eléaume	member of	https://schema.org/memberOf		
+/Lenaïg G. Hemery	/ResponsibleParty	dataset	Lenaïg G. Hemery	is a	http://www.w3.org/1999/02/22-rdf-syntax-ns#type	Person	https://schema.org/Person
+/Lenaïg G. Hemery	/ResponsibleParty	dataset	Lenaïg G. Hemery	member of	https://schema.org/memberOf		
+/Ben Galton-Fenzi	/ResponsibleParty	dataset	Ben Galton-Fenzi	is a	http://www.w3.org/1999/02/22-rdf-syntax-ns#type	Person	https://schema.org/Person
+/Ben Galton-Fenzi	/ResponsibleParty	dataset	Ben Galton-Fenzi	member of	https://schema.org/memberOf		
+/Pauline Seguineau	/ResponsibleParty	dataset	Pauline Seguineau	is a	http://www.w3.org/1999/02/22-rdf-syntax-ns#type	Person	https://schema.org/Person
+/Pauline Seguineau	/ResponsibleParty	dataset	Pauline Seguineau	member of	https://schema.org/memberOf		
+/Yvan Le Bras	/ResponsibleParty	dataset	Yvan Le Bras	is a	http://www.w3.org/1999/02/22-rdf-syntax-ns#type	Person	https://schema.org/Person
+/Yvan Le Bras	/ResponsibleParty	dataset	Yvan Le Bras	member of	https://schema.org/memberOf		
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotemp/attributes_ceamarc_env.txt	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,20 @@
+attributeName	attributeDefinition	class	unit	dateTimeFormatString	missingValueCode	missingValueCodeExplanation
+long	Longitude is a geographic coordinate that specifies the east–west position of a point 	numeric	degree	""	-9999	no data available
+lat	Latitude is a geographic coordinate that specifies the north–south position of a point.	numeric	degree	""	-9999	no data available
+Carbo	Percentage of biogenic carbonate	numeric	percent	""	-9999	no data available
+Grav	Percentage of gravel in the seabed	numeric	percent	""	-9999	no data available
+Maxbearing	Maximum current bearing	numeric	radian	""	-9999	no data available
+Maxmagnit	Maximum current magnitude	numeric	meterPerSecond	""	-9999	no data available
+Meancurmag	Mean current magnitude	numeric	meterPerSecond	""	-9999	no data available
+Meansal	Mean salinity of the sea	numeric	PSU	""	-9999	no data available
+Meantheta	Mean temperature of the sea	numeric	degreeCelsius	""	-9999	no data available
+Mud	Percentage of mud in the seabed	numeric	percent	""	-9999	no data available
+Prof	Depth of the sea 	numeric	meter	""	-9999	no data available
+Rugosity	Rugosity of the seabed 	numeric	dimensionless	""	-9999	no data available
+Sand	Percentage of sand in the seabed 	numeric	percent	""	-9999	no data available
+Seaice_prod	Seaice production in meter per year	numeric	meterPerYear	""	-9999	no data available
+Sili	Percentage of biogenic silica in the seabed 	numeric	percent	""	-9999	no data available
+Slope	Slope of the seabed 	numeric	degree	""	-9999	no data available
+Standcurmag	Current magnitude standard deviation 	numeric	meterPerSecond	""	-9999	no data available
+Standsal	Salinity standard deviation	numeric	PSU	""	-9999	no data available
+Standtheta	Temperature standard deviation	numeric	degreeCelsius	""	-9999	no data available
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotemp/ceamarc_env.tsv	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,10 @@
+long	lat	Carbo	Grav	Maxbearing	Maxmagnit	Meancurmag	Meansal	Meantheta	Mud	Prof	Rugosity	Sand	Seaice_prod	Sili	Slope	Standcurmag	Standsal	Standtheta
+139.22	-65.57	0.88	28.59	3.67	0.03	0.03	34.62	-0.13	22.72	-441	-9999	55.76	0.24	3.27	0.28	0.01	0.01	0.18
+139.22	-65.57	0.88	28.61	3.64	0.02	0.03	34.62	-0.13	22.48	-439	-9999	55.74	0.24	3.29	0.27	0.01	0.01	0.18
+139.23	-65.57	0.92	28.62	3.59	0.02	0.03	34.62	-0.14	22.25	-438	-9999	56.28	0.25	3.32	0.22	0.01	0.01	0.19
+139.24	-65.57	0.92	28.63	3.51	0.01	0.03	34.62	-0.14	21.95	-436	-9999	56.57	0.26	3.3	0.08	0.01	0.01	0.19
+139.24	-65.57	0.92	28.64	3.35	0.01	0.03	34.62	-0.14	21.7	-437	-9999	56.58	0.26	3.28	0.05	0.01	0.01	0.19
+139.25	-65.57	0.93	28.65	3	0.0096293305978179	0.03	34.62	-0.15	21.44	-436	-9999	56.63	0.26	3.26	0.29	0.01	0.01	0.19
+139.26	-65.57	0.93	28.63	2.49	0.00871255807578564	0.03	34.62	-0.15	21.11	-432	-9999	56.67	0.26	3.23	0.43	0.01	0.01	0.19
+139.26	-65.57	0.93	28.64	2.01	0.01	0.03	34.62	-0.16	20.83	-429	-9999	56.71	0.26	3.21	0.37	0.01	0.01	0.19
+139.27	-65.57	0.94	28.65	1.71	0.01	0.03	34.62	-0.16	20.55	-427	-9999	56.75	0.26	3.19	0.32	0.01	0.01	0.2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotemp/custom_units.txt	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,4 @@
+id	unitType	parentSI	multiplierToSI	description
+PSU	density	gramPerGram	0.001	"1 PSU = 1g/kg"
+degreeCelsius	temperature	dimensionless	1	"0 °C + 273,15 = 273,15 Kelvin"
+meterPerYear	speed	centimeterPerYear	0.01	"meter per year"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotemp/entities.txt	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,2 @@
+objectName	variable	value
+pivot_wider_jupytool_notebook.ipynb	entityType	executable
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotemp/geographic_coverage.txt	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,2 @@
+geographicDescription	northBoundingCoordinate	southBoundingCoordinate	eastBoundingCoordinate	westBoundingCoordinate
+Dumont D'Urville sea sampling border	-65.57	-67.01	145.53	139.22
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotemp/intellectual_rights.txt	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,1 @@
+This information is released under the Creative Commons license - Attribution - CC BY (https://creativecommons.org/licenses/by/4.0/). The consumer of these data ("Data User" herein) is required to cite it appropriately in any publication that results from its use. The Data User should realize that these data may be actively used by others for ongoing research and that coordination may be necessary to prevent duplicate publication. The Data User is urged to contact the authors of these data if any questions about methodology or results occur. Where appropriate, the Data User is encouraged to consider collaboration or co-authorship with the authors. The Data User should realize that misinterpretation of data may occur if used out of context of the original study. While substantial efforts are made to ensure the accuracy of data and associated documentation, complete accuracy of data sets cannot be guaranteed. All data are made available "as is." The Data User should be aware, however, that data are updated periodically and it is the responsibility of the Data User to check for new versions of the data. The data authors and the repository where these data were obtained shall not be liable for damages resulting from any use or misinterpretation of the data. Thank you.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotemp/keywords.txt	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,9 @@
+keyword	keywordThesaurus
+Antarctica	""
+Southern Ocean	""
+Dumont D'Urville sea	""
+CEAMARC	""
+Abiotic and physical parameters	""
+Ecoregionalization	""
+Jupyter notebook	""
+Pivot wider function	""
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotemp/methods.txt	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,1 @@
+Abiotic and physical parameters in this dataset were taken from oceanographic model and in situ measurements (Hemery et al., 2011). Here we quote the relevant section of the “Materials and methods” part from the study: “Abiotic or physical parameters. Two different categories of abiotic parameters were used (Fig. 2): parameters likely to be subject to daily or seasonal variability (temperature, salinity, current magnitude, general current direction and sea-ice concentration) and parameters with long-term stability (bathymetry, slope, rugosity and seabed sediments). Parameters with short-term variability are taken from an oceanographic model, whereas parameters with long-term stability are derived from in situ measurements. Physical oceanography. Physical oceanographic parameters near the seabed (temperature, salinity, mean current magnitude, standard deviations of these 3 parameters, maximum current magnitude and general current direction) are taken from a climatologically forced ocean circulation model. The model was run for a total of 23 yr. A spinup phase of 20 yr was required for the model to reach quasi-equilibrium. The mean and SD were calculated by using 6-hourly model data for the last 3 yr. Sea ice growth rate was calculated directly from special sensor microwave imager (SSM/I) observations (Tamura et al. 2008). The model is based on the Rutgers/University of California Los Angeles Regional Ocean Model System (ROMS; Shchepetkin & McWilliams 2005) and is identical to the one described by B. K. Galton-Fenzi et al. (unpubl.). The model used here, initially developed for regional modelling studies of the Amery Ice Shelf/Ocean system and has been used in circum-Antarctic modelling studies, is able to simulate ice/ocean interactions at a high level of realism (Galton-Fenzi 2009, 2010). For the region of this study, the model is able to reproduce the circulation patterns and water mass properties when compared with oceanographic measurements taken in the vicinity of the George V and Adélie basins (A. Meijers pers. comm.). The model domain extends from 135.77° E to 158.08° E and from 69.417° S to 62.724° S. The southern boundary of the model is a closed, solid, free slip wall and the eastern and western boundaries are partially open. The horizontal grid resolution is between 2.16 km near the southern boundary to 2.88 km near the northern boundary. There are 31 vertical levels that are concentrated towards the top and bottom of the model domain. The parameters used here were taken from the lowest vertical level in the model that lies immediately adjacent to the seabed. The choice of mixing and advection schemes follows the choices that were successfully used by Dinniman et al. (2003, 2007) for studies of the shelf seas near the Ross Ice Shelf. The melting and freezing formulation uses the full 3-equation formulation and dynamics frazil ice model used in the studies of Galton-Fenzi (2009, 2010). Lateral boundary fields (potential temperature, salinity and currents) on the open boundaries are relaxed to monthly climatologies from ECCO2 (Menemenlis et al. 2008, Wunsch et al. 2009). Ten primary tidal constituents were added as a free-surface forcing. The tidal amplitudes and phase are calculated with a nonstandard ROMS subroutine, based on tidal information from the Proudman Oceanographic Laboratory (Murray 1964) and modified to be included within ROMS, yielding a standard tidal prediction. The bathymetry and the ice-draft information come from a version of R-TOPO (Timmermann et al. 2010) that was modified to include the high-resolution bathymetric data (outlined below, Beaman et al. 2011) and knowledge of the glacial ice drafts in the region (B. Legresy pers.comm.). The open ocean surface fluxes are modified by an imposed climatological sea-ice cover that includes polynyas, derived from SSM/I observations (Tamura et al. 2008). During summer, the Tamura et al. (2008) data are supplemented with open-water heat and salt fluxes by using the monthly climatologies from the NCEP-2 (Kanamitsu et al. 2002). Bathymetry and seabed sediments. A bathymetry model based on multibeam swath sonar and single beam bathymetry data was produced at about 250 m resolution for the study area (Beaman et al. 2011). A raster map of the slope gradient was generated from this bathymetry model by using ESRI ArcGIS 9.2 Spatial Analysis Tools and a raster map of the rugosity was generated by using Benthic Terrain Modeler tools. Sediment grabs provided substratum composition data, such as the percentage of gravel, mud, sand, biogenic carbonate and biogenic silica at sample sites (Beaman & O’Brien 2009). These data are used as a broad-scale representation of the seafloor substratum.” (Hemery et al., 2011). The Jupyter notebook file in this dataset was created with the Interactive JupyTool and the notebook Galaxy tool (https://ecology.usegalaxy.eu/root?tool_id=interactive_tool_jupyter_notebook). This Jupyter notebook script uses the pivot_wider function from the tidyr library to prepare data for the Ecoregionalization workflow.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotemp/personnel.txt	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,7 @@
+givenName	middleInitial	surName	organizationName	electronicMailAddress	userId	role	projectTitle	fundingAgency	fundingNumber
+Marc	""	Eléaume	Muséum National d'Histoire Naturelle	marc.eleaume@mnhn.fr	0000-0003-1999-1177	creator	""	""	""
+Marc	""	Eléaume	Muséum National d'Histoire Naturelle	marc.eleaume@mnhn.fr	0000-0003-1999-1177	contact	""	""	""
+Lenaïg	G.	Hemery	Pacific Northwest National Laboratory Marine Sciences Laboratory	lenaighemery@gmail.com,lenaig.hemery@pnnl.gov	0000-0001-5337-4514	creator	""	""	""
+Ben	""	Galton-Fenzi 	Australian Antarctic Division:Kingston, Tasmania, AU	""	0000-0003-1404-4103	creator	""	""	""
+Pauline	""	Seguineau	Muséum National d'Histoire Naturelle	pauline.seguineau@mnhn.fr	0009-0009-5969-8478	creator	""	""	""
+Yvan	""	Le Bras	Muséum National d'Histoire Naturelle	yvan.le-bras@mnhn.fr	0000-0002-8504-068X	creator	""	""	""
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotemp/pivot_wider_jupytool_notebook.ipynb	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,85 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Pivot wider Jupytool "
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "This Jupyter notebook is dedicated to the pivot_wider function from the tidyr R package. \n",
+    "This script is the final part of the data preparation for the ecoregionalization Galaxy workflow.   "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 62,
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "#Date : 22/05/2024\n",
+    "#Author : Seguineau Pauline & Yvan Le Bras \n",
+    "\n",
+    "#Load libraries\n",
+    "library(tidyr)\n",
+    "\n",
+    "#load file \n",
+    "\n",
+    "input_path = \"galaxy_inputs\"\n",
+    "\n",
+    "for (dir in list.dirs(input_path)){\n",
+    "    for (file in list.files(dir)) {\n",
+    "        file_path = file.path(dir, file)}\n",
+    "}\n",
+    "\n",
+    "file = read.table(file_path,header=T, sep = \"\\t\")\n",
+    "\n",
+    "#Run pivot_wider function\n",
+    "pivot_file = pivot_wider(data = file,\n",
+    "                        names_from = phylum_class_order_family_genus_specificEpithet,\n",
+    "                        values_from = individualCount,\n",
+    "                        values_fill = 0,\n",
+    "                        values_fn = sum)\n",
+    "\n",
+    "#Replace all occurences >= 1 by 1 to have only presence (1) or absence (0) data\n",
+    "for(c in 3:length(pivot_file)){\n",
+    "    pivot_file[c][pivot_file[c]>=1] <- 1}\n",
+    "\n",
+    "\n",
+    "write.table(pivot_file, \"outputs/pivot_file.tabular\", sep = \"\\t\", quote = F, row.names = F)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "In this Jupyter notebook, we used the pivot_wider function of the tidyr package to transform our data into a wider format and adapted to subsequent analyses as part of the Galaxy workflow for ecoregionalization. This transformation allowed us to convert our data to a format where each taxon becomes a separate column. We also took care to fill in the missing values with zeros and to sum the individual counts in case of duplications. Then all data >= 1 are replace by 1 to have only presence (1) or abscence (0) data.\n",
+    "\n",
+    "Thus, this notebook is an essential building block of our analysis pipeline, ensuring that the data is properly formatted and ready to be explored and interpreted for ecoregionalization studies."
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "R",
+   "language": "R",
+   "name": "ir"
+  },
+  "language_info": {
+   "codemirror_mode": "r",
+   "file_extension": ".r",
+   "mimetype": "text/x-r-source",
+   "name": "R",
+   "pygments_lexer": "r",
+   "version": "4.0.3"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/attributes_data_7.txt	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,7 @@
+attributeName	attributeDefinition	class	unit	dateTimeFormatString	missingValueCode	missingValueCodeExplanation
+LIB_SITE	Description for: LIB_SITE	character	""	""	""	""
+X	Description for: X	numeric	dimensionless	""	""	""
+Y	Description for: Y	numeric	dimensionless	""	""	""
+PROGRAMME	Description for: PROGRAMME	categorical	""	""	""	""
+OPERATEUR_	Description for: OPERATEUR_	categorical	""	""	""	""
+STATUT_DU_	Description for: STATUT_DU_	categorical	""	""	""	""
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/attributes_data_blary_al.tabular	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,81 @@
+attributeName	attributeDefinition	class	unit	dateTimeFormatString	missingValueCode	missingValueCodeExplanation
+Id	Sampling site ID	character			"NA"	"No information"
+dist_field_margin	Distance to the nearest field margin element (in meters)	numeric	meter		NA	No information
+dist_hedgerow	Distance to the nearest hedgerow element (in meters)	numeric	meter		"NA"	"No information"
+dist_forest	Distance to the nearest forest element (in meters)	numeric	meter		"NA"	"No information"
+dist_road	Distance to the nearest road element (in meters)	numeric	meter		"NA"	"No information"
+dist_water	Distance to the nearest water body element (in meters)	numeric	meter		"NA"	"No information"
+dist_urban	Distance to the nearest urban element (in meters)	numeric	meter		"NA"	"No information"
+density_field_margins_250m	Relative density of field margins in a 250 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_field_margins_500m	Relative density of filed margins in a 500 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_field_margins_750m	Relative density of filed margins in a 750 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_field_margins_1000m	Relative density of filed margins in a 1000 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_field_margins_1500m	Relative density of filed margins in a 1500 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_field_margins_2000m	Relative density of filed margins in a 2000 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_field_margins_4000m	Relative density of filed margins in a 4000 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_roads_250m	Relative density of roads in a 250 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_roads_500m	Relative density of roads in a 500 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_roads_750m	Relative density of roads in a 750 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_roads_1000m	Description for density_roads_1000m	numeric	dimensionless		"NA"	"No information"
+density_roads_1500m	Relative density of roads in a 1500 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_roads_2000m	Relative density of roads in a 2000 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_roads_4000m	Relative density of roads in a 4000 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_hedgerows_250m	Relative density of hedgerows in a 250 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_hedgerows_500m	Relative density of hedgerows in a 500 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_hedgerows_750m	Relative density of hedgerows in a 750 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_hedgerows_1000m	Relative density of hedgerows in a 1000 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_hedgerows_1500m	Relative density of hedgerows in a 1500 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_hedgerows_2000m	Relative density of hedgerows in a 2000 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_hedgerows_4000m	Relative density of hedgerows in a 4000 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+shannon_250m	Land-cover Shannon diversity index in 250 meters buffer around the sampling site (no unit of measurement)	numeric	dimensionless		"NA"	"No information"
+shannon_500m	Land-cover Shannon diversity index in 500 meters buffer around the sampling site (no unit of measurement)	numeric	dimensionless		"NA"	"No information"
+shannon_750m	Land-cover Shannon diversity index in 750 meters buffer around the sampling site (no unit of measurement)	numeric	dimensionless		"NA"	"No information"
+shannon_1000m	Land-cover Shannon diversity index in 1000 meters buffer around the sampling site (no unit of measurement)	numeric	dimensionless		"NA"	"No information"
+shannon_1500m	Land-cover Shannon diversity index in 1500 meters buffer around the sampling site (no unit of measurement)	numeric	dimensionless		"NA"	"No information"
+shannon_2000m	Land-cover Shannon diversity index in 2000 meters buffer around the sampling site (no unit of measurement)	numeric	dimensionless		"NA"	"No information"
+shannon_4000m	Land-cover Shannon diversity index in 4000 meters buffer around the sampling site (no unit of measurement)	numeric	dimensionless		"NA"	"No information"
+grassland_250	Percentage of land covered by grassland in different 250 m buffer sizes	numeric	percent		"NA"	"No information"
+forest_250m	Percentage of land covered by forest in different 250 m buffer sizes	numeric	percent		"NA"	"No information"
+urban_250m	Percentage of land covered by urban area in different 250 m buffer sizes	numeric	percent		"NA"	"No information"
+grassland_500	Percentage of land covered by grassland in different 500 m buffer sizes	numeric	percent		"NA"	"No information"
+forest_500m	Percentage of land covered by forest in different 500 m buffer sizes	numeric	percent		"NA"	"No information"
+urban_500m	Percentage of land covered by urban area in different 500 m buffer sizes	numeric	percent		"NA"	"No information"
+grassland_750	Percentage of land covered by grassland in different 750 m buffer sizes	numeric	percent		"NA"	"No information"
+forest_750m	Percentage of land covered by forest in different 750 m buffer sizes	numeric	percent		"NA"	"No information"
+urban_750m	Percentage of land covered by urban area in different 750 m buffer sizes	numeric	percent		"NA"	"No information"
+grassland_1000	Percentage of land covered by grassland in different 1000 m buffer sizes	numeric	percent		"NA"	"No information"
+forest_1000m	Percentage of land covered by forest in different 1000 m buffer sizes	numeric	percent		"NA"	"No information"
+urban_1000m	Percentage of land covered by urban area in different 1000 m buffer sizes	numeric	percent		"NA"	"No information"
+grassland_1500	Percentage of land covered by grassland in different 1500 m buffer sizes	numeric	percent		"NA"	"No information"
+forest_1500m	Percentage of land covered by forest in different 1500 m buffer sizes	numeric	percent		"NA"	"No information"
+urban_1500m	Percentage of land covered by urban area in different 1500 m buffer sizes	numeric	percent		"NA"	"No information"
+grassland_2000	Percentage of land covered by grassland in different 2000 m buffer sizes	numeric	percent		"NA"	"No information"
+forest_2000m	Description for forest_2000m	numeric	percent		"NA"	"No information"
+urban_2000m	Percentage of land covered by urban area in different 2000 m buffer sizes	numeric	percent		"NA"	"No information"
+grassland_4000	Percentage of land covered by grassland in different 4000 m buffer sizes	numeric	percent		"NA"	"No information"
+forest_4000m	Percentage of land covered by forest in different 4000 m buffer sizes	numeric	percent		"NA"	"No information"
+urban_4000m	Percentage of land covered by urban area in different 4000 m buffer sizes	numeric	percent		"NA"	"No information"
+perc_rapeseed	Percentage of rapeseed crops in a 100 m radius around each site at the sampling date	numeric	percent		"NA"	"No information"
+nb_crops	Number of different crops in a 100 m radius around each site at the sampling date	numeric	number		"NA"	"No information"
+date	Description for date	Date		YYYY-MM-DD	"NA"	"No information"
+X	Sampling site longitude	numeric	dimensionless		"NA"	"No information"
+Y	Sampling site latitude	numeric	dimensionless		"NA"	"No information"
+recorder	Recorder ID used for data collection on the sampling site	categorical			"NA"	"No information"
+min_t	Minimum temperature recorded on the sampling area during the sampling night (in celsius)	numeric	celsius		"NA"	"No information"
+max_wind	Maximum wind speed recorded on the sampling area during the sampling night (in km/h)	numeric	kilometerPerHour		"NA"	"No information"
+CSI_ER05	Community specialization index calculated from species level activity on the 0.5 maximum error rate tolerance threshold	numeric	dimensionless		"NA"	"No information"
+CSI_ER01	Community specialization index calculated from species level activity on the 0.1 maximum error rate tolerance threshold	numeric	dimensionless		"NA"	"No information"
+richness_ER05	Species richness calculated from species level activity on the 0.5 maximum error rate tolerance threshold	numeric	dimensionless		"NA"	"No information"
+richness_ER01	Species richness calculated from species level activity on the 0.1 maximum error rate tolerance threshold	numeric	dimensionless		"NA"	"No information"
+Nyclei_ER05	Number of bat passes of Nyclei specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold	numeric	number		"NA"	"No information"
+Nyclei_ER01	Number of bat passes of Nyclei specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold	numeric	number		"NA"	"No information"
+Pippip_ER05	Number of bat passes of Pippip specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold	numeric	number		"NA"	"No information"
+Pippip_ER01	Number of bat passes of Pippip specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold	numeric	number		"NA"	"No information"
+Eptser_ER05	Number of bat passes of Epster specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold	numeric	number		"NA"	"No information"
+Eptser_ER01	Number of bat passes of Epster specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold	numeric	number		"NA"	"No information"
+Nycnoc_ER05	Number of bat passes of Nycnoc specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold	numeric	number		"NA"	"No information"
+Nycnoc_ER01	Number of bat passes of Nycnoc specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold	numeric	number		"NA"	"No information"
+Myo_ER05	Number of bat passes of Myo specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold	numeric	number		"NA"	"No information"
+Myo_ER01	Number of bat passes of Myo specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold	numeric	number		"NA"	"No information"
+Ple_ER05	Number of bat passes of Ple specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold	numeric	number		"NA"	"No information"
+Ple_ER01	Number of bat passes of Ple specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold	numeric	number		"NA"	"No information"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/attributes_data_blary_al.txt	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,81 @@
+attributeName	attributeDefinition	class	unit	dateTimeFormatString	missingValueCode	missingValueCodeExplanation
+Id	Sampling site ID	character			"NA"	"No information"
+dist_field_margin	Distance to the nearest field margin element (in meters)	numeric	meter		NA	No information
+dist_hedgerow	Distance to the nearest hedgerow element (in meters)	numeric	meter		"NA"	"No information"
+dist_forest	Distance to the nearest forest element (in meters)	numeric	meter		"NA"	"No information"
+dist_road	Distance to the nearest road element (in meters)	numeric	meter		"NA"	"No information"
+dist_water	Distance to the nearest water body element (in meters)	numeric	meter		"NA"	"No information"
+dist_urban	Distance to the nearest urban element (in meters)	numeric	meter		"NA"	"No information"
+density_field_margins_250m	Relative density of field margins in a 250 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_field_margins_500m	Relative density of filed margins in a 500 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_field_margins_750m	Relative density of filed margins in a 750 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_field_margins_1000m	Relative density of filed margins in a 1000 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_field_margins_1500m	Relative density of filed margins in a 1500 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_field_margins_2000m	Relative density of filed margins in a 2000 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_field_margins_4000m	Relative density of filed margins in a 4000 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_roads_250m	Relative density of roads in a 250 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_roads_500m	Relative density of roads in a 500 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_roads_750m	Relative density of roads in a 750 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_roads_1000m	Description for density_roads_1000m	numeric	dimensionless		"NA"	"No information"
+density_roads_1500m	Relative density of roads in a 1500 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_roads_2000m	Relative density of roads in a 2000 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_roads_4000m	Relative density of roads in a 4000 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_hedgerows_250m	Relative density of hedgerows in a 250 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_hedgerows_500m	Relative density of hedgerows in a 500 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_hedgerows_750m	Relative density of hedgerows in a 750 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_hedgerows_1000m	Relative density of hedgerows in a 1000 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_hedgerows_1500m	Relative density of hedgerows in a 1500 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_hedgerows_2000m	Relative density of hedgerows in a 2000 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+density_hedgerows_4000m	Relative density of hedgerows in a 4000 meters buffer around the sampling site (in meters per hectare)	numeric	dimensionless		"NA"	"No information"
+shannon_250m	Land-cover Shannon diversity index in 250 meters buffer around the sampling site (no unit of measurement)	numeric	dimensionless		"NA"	"No information"
+shannon_500m	Land-cover Shannon diversity index in 500 meters buffer around the sampling site (no unit of measurement)	numeric	dimensionless		"NA"	"No information"
+shannon_750m	Land-cover Shannon diversity index in 750 meters buffer around the sampling site (no unit of measurement)	numeric	dimensionless		"NA"	"No information"
+shannon_1000m	Land-cover Shannon diversity index in 1000 meters buffer around the sampling site (no unit of measurement)	numeric	dimensionless		"NA"	"No information"
+shannon_1500m	Land-cover Shannon diversity index in 1500 meters buffer around the sampling site (no unit of measurement)	numeric	dimensionless		"NA"	"No information"
+shannon_2000m	Land-cover Shannon diversity index in 2000 meters buffer around the sampling site (no unit of measurement)	numeric	dimensionless		"NA"	"No information"
+shannon_4000m	Land-cover Shannon diversity index in 4000 meters buffer around the sampling site (no unit of measurement)	numeric	dimensionless		"NA"	"No information"
+grassland_250	Percentage of land covered by grassland in different 250 m buffer sizes	numeric	percent		"NA"	"No information"
+forest_250m	Percentage of land covered by forest in different 250 m buffer sizes	numeric	percent		"NA"	"No information"
+urban_250m	Percentage of land covered by urban area in different 250 m buffer sizes	numeric	percent		"NA"	"No information"
+grassland_500	Percentage of land covered by grassland in different 500 m buffer sizes	numeric	percent		"NA"	"No information"
+forest_500m	Percentage of land covered by forest in different 500 m buffer sizes	numeric	percent		"NA"	"No information"
+urban_500m	Percentage of land covered by urban area in different 500 m buffer sizes	numeric	percent		"NA"	"No information"
+grassland_750	Percentage of land covered by grassland in different 750 m buffer sizes	numeric	percent		"NA"	"No information"
+forest_750m	Percentage of land covered by forest in different 750 m buffer sizes	numeric	percent		"NA"	"No information"
+urban_750m	Percentage of land covered by urban area in different 750 m buffer sizes	numeric	percent		"NA"	"No information"
+grassland_1000	Percentage of land covered by grassland in different 1000 m buffer sizes	numeric	percent		"NA"	"No information"
+forest_1000m	Percentage of land covered by forest in different 1000 m buffer sizes	numeric	percent		"NA"	"No information"
+urban_1000m	Percentage of land covered by urban area in different 1000 m buffer sizes	numeric	percent		"NA"	"No information"
+grassland_1500	Percentage of land covered by grassland in different 1500 m buffer sizes	numeric	percent		"NA"	"No information"
+forest_1500m	Percentage of land covered by forest in different 1500 m buffer sizes	numeric	percent		"NA"	"No information"
+urban_1500m	Percentage of land covered by urban area in different 1500 m buffer sizes	numeric	percent		"NA"	"No information"
+grassland_2000	Percentage of land covered by grassland in different 2000 m buffer sizes	numeric	percent		"NA"	"No information"
+forest_2000m	Description for forest_2000m	numeric	percent		"NA"	"No information"
+urban_2000m	Percentage of land covered by urban area in different 2000 m buffer sizes	numeric	percent		"NA"	"No information"
+grassland_4000	Percentage of land covered by grassland in different 4000 m buffer sizes	numeric	percent		"NA"	"No information"
+forest_4000m	Percentage of land covered by forest in different 4000 m buffer sizes	numeric	percent		"NA"	"No information"
+urban_4000m	Percentage of land covered by urban area in different 4000 m buffer sizes	numeric	percent		"NA"	"No information"
+perc_rapeseed	Percentage of rapeseed crops in a 100 m radius around each site at the sampling date	numeric	percent		"NA"	"No information"
+nb_crops	Number of different crops in a 100 m radius around each site at the sampling date	numeric	number		"NA"	"No information"
+date	Description for date	Date		YYYY-MM-DD	"NA"	"No information"
+X	Sampling site longitude	numeric	dimensionless		"NA"	"No information"
+Y	Sampling site latitude	numeric	dimensionless		"NA"	"No information"
+recorder	Recorder ID used for data collection on the sampling site	categorical			"NA"	"No information"
+min_t	Minimum temperature recorded on the sampling area during the sampling night (in celsius)	numeric	celsius		"NA"	"No information"
+max_wind	Maximum wind speed recorded on the sampling area during the sampling night (in km/h)	numeric	kilometerPerHour		"NA"	"No information"
+CSI_ER05	Community specialization index calculated from species level activity on the 0.5 maximum error rate tolerance threshold	numeric	dimensionless		"NA"	"No information"
+CSI_ER01	Community specialization index calculated from species level activity on the 0.1 maximum error rate tolerance threshold	numeric	dimensionless		"NA"	"No information"
+richness_ER05	Species richness calculated from species level activity on the 0.5 maximum error rate tolerance threshold	numeric	dimensionless		"NA"	"No information"
+richness_ER01	Species richness calculated from species level activity on the 0.1 maximum error rate tolerance threshold	numeric	dimensionless		"NA"	"No information"
+Nyclei_ER05	Number of bat passes of Nyclei specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold	numeric	number		"NA"	"No information"
+Nyclei_ER01	Number of bat passes of Nyclei specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold	numeric	number		"NA"	"No information"
+Pippip_ER05	Number of bat passes of Pippip specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold	numeric	number		"NA"	"No information"
+Pippip_ER01	Number of bat passes of Pippip specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold	numeric	number		"NA"	"No information"
+Eptser_ER05	Number of bat passes of Epster specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold	numeric	number		"NA"	"No information"
+Eptser_ER01	Number of bat passes of Epster specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold	numeric	number		"NA"	"No information"
+Nycnoc_ER05	Number of bat passes of Nycnoc specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold	numeric	number		"NA"	"No information"
+Nycnoc_ER01	Number of bat passes of Nycnoc specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold	numeric	number		"NA"	"No information"
+Myo_ER05	Number of bat passes of Myo specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold	numeric	number		"NA"	"No information"
+Myo_ER01	Number of bat passes of Myo specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold	numeric	number		"NA"	"No information"
+Ple_ER05	Number of bat passes of Ple specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold	numeric	number		"NA"	"No information"
+Ple_ER01	Number of bat passes of Ple specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold	numeric	number		"NA"	"No information"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/catvars_data_7.txt	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,13 @@
+attributeName	code	definition
+PROGRAMME	DCE	Value: DCE for attribute: PROGRAMME
+PROGRAMME	ELV	Value: ELV for attribute: PROGRAMME
+PROGRAMME	DCE/ELV	Value: DCE/ELV for attribute: PROGRAMME
+PROGRAMME	REBENT	Value: REBENT for attribute: PROGRAMME
+PROGRAMME	REBENT/DCE	Value: REBENT/DCE for attribute: PROGRAMME
+OPERATEUR_	MNHN CC	Value: MNHN CC for attribute: OPERATEUR_
+OPERATEUR_	Station de Wimer	Value: Station de Wimer for attribute: OPERATEUR_
+OPERATEUR_	Ifremer Anglet	Value: Ifremer Anglet for attribute: OPERATEUR_
+OPERATEUR_	Bio-Littoral	Value: Bio-Littoral for attribute: OPERATEUR_
+OPERATEUR_	Ecosub	Value: Ecosub for attribute: OPERATEUR_
+STATUT_DU_	actif	Value: actif for attribute: STATUT_DU_
+STATUT_DU_	inactif	Value: inactif for attribute: STATUT_DU_
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/catvars_data_blary_al.tabular	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,16 @@
+attributeName	code	definition
+recorder	10250	Value: 10250 for attribute: recorder
+recorder	11693	Value: 11693 for attribute: recorder
+recorder	13289	Value: 13289 for attribute: recorder
+recorder	13676	Value: 13676 for attribute: recorder
+recorder	13733	Value: 13733 for attribute: recorder
+recorder	13740	Value: 13740 for attribute: recorder
+recorder	17232	Value: 17232 for attribute: recorder
+recorder	17329	Value: 17329 for attribute: recorder
+recorder	17573	Value: 17573 for attribute: recorder
+recorder	17578	Value: 17578 for attribute: recorder
+recorder	17598	Value: 17598 for attribute: recorder
+recorder	17601	Value: 17601 for attribute: recorder
+recorder	17607	Value: 17607 for attribute: recorder
+recorder	17608	Value: 17608 for attribute: recorder
+recorder	3760	Value: 3760 for attribute: recorder
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/catvars_data_blary_al.txt	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,16 @@
+attributeName	code	definition
+recorder	10250	Value: 10250 for attribute: recorder
+recorder	11693	Value: 11693 for attribute: recorder
+recorder	13289	Value: 13289 for attribute: recorder
+recorder	13676	Value: 13676 for attribute: recorder
+recorder	13733	Value: 13733 for attribute: recorder
+recorder	13740	Value: 13740 for attribute: recorder
+recorder	17232	Value: 17232 for attribute: recorder
+recorder	17329	Value: 17329 for attribute: recorder
+recorder	17573	Value: 17573 for attribute: recorder
+recorder	17578	Value: 17578 for attribute: recorder
+recorder	17598	Value: 17598 for attribute: recorder
+recorder	17601	Value: 17601 for attribute: recorder
+recorder	17607	Value: 17607 for attribute: recorder
+recorder	17608	Value: 17608 for attribute: recorder
+recorder	3760	Value: 3760 for attribute: recorder
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/custom_units.txt	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,1 @@
+id	unitType	parentSI	multiplierToSI	description
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/data_7.GeoJSON	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,72 @@
+{
+"type": "FeatureCollection",
+"name": "shapefile",
+"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } },
+"features": [
+{ "type": "Feature", "properties": { "LIB_SITE": "Rohein", "X": -2.630417, "Y": 48.64695, "PROGRAMME": "DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -2.630417, 48.64695 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Goue Vas", "X": -2.636567, "Y": 47.253417, "PROGRAMME": "ELV", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "inactif" }, "geometry": { "type": "Point", "coordinates": [ -2.636567, 47.253417 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Grand Coin", "X": -3.004233, "Y": 47.407783, "PROGRAMME": "DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -3.004233, 47.407783 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Gaouac'h", "X": -4.398067, "Y": 47.807367, "PROGRAMME": "DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -4.398067, 47.807367 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Pierres Noires", "X": -3.2159, "Y": 47.598067, "PROGRAMME": "DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -3.2159, 47.598067 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Ile Dumet", "X": -2.623133, "Y": 47.408667, "PROGRAMME": "DCE\/ELV", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -2.623133, 47.408667 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Bonen", "X": -2.65305, "Y": 47.303917, "PROGRAMME": "DCE\/ELV", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -2.65305, 47.303917 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Cancavale", "X": -2.018067, "Y": 48.604633, "PROGRAMME": "REBENT", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -2.018067, 48.604633 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Haie de la Conch‚e", "X": -2.045717, "Y": 48.687067, "PROGRAMME": "REBENT\/DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -2.045717, 48.687067 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Vieux Banc", "X": -2.167383, "Y": 48.699133, "PROGRAMME": "REBENT", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -2.167383, 48.699133 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Kein an duono", "X": -3.145533, "Y": 48.889183, "PROGRAMME": "REBENT", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "inactif" }, "geometry": { "type": "Point", "coordinates": [ -3.145533, 48.889183 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Moguedhier", "X": -3.056567, "Y": 48.838983, "PROGRAMME": "REBENT\/DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -3.056567, 48.838983 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Pointe du Paon", "X": -2.984967, "Y": 48.866383, "PROGRAMME": "REBENT\/DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -2.984967, 48.866383 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Squ‚ouel", "X": -3.474583, "Y": 48.837417, "PROGRAMME": "REBENT", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -3.474583, 48.837417 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Roc'h Mignon", "X": -3.5768, "Y": 48.756183, "PROGRAMME": "REBENT\/DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -3.5768, 48.756183 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Roc'h Parou", "X": -3.620167, "Y": 48.715667, "PROGRAMME": "DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -3.620167, 48.715667 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Les Triagoz", "X": -3.6466, "Y": 48.871267, "PROGRAMME": "REBENT", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "inactif" }, "geometry": { "type": "Point", "coordinates": [ -3.6466, 48.871267 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "La BarriŠre", "X": -3.51345, "Y": 48.888767, "PROGRAMME": "REBENT\/DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -3.51345, 48.888767 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Corbeau", "X": -3.888267, "Y": 48.6769, "PROGRAMME": "REBENT\/DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -3.888267, 48.6769 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Penven", "X": -4.005867, "Y": 48.759633, "PROGRAMME": "REBENT", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -4.005867, 48.759633 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Les Œles de la croix", "X": -4.603867, "Y": 48.615483, "PROGRAMME": "REBENT\/DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -4.603867, 48.615483 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Les Liniou", "X": -4.8077, "Y": 48.490233, "PROGRAMME": "REBENT\/DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -4.8077, 48.490233 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Morvan", "X": -4.585767, "Y": 48.638567, "PROGRAMME": "REBENT", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "inactif" }, "geometry": { "type": "Point", "coordinates": [ -4.585767, 48.638567 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Fort de la Fraternit‚", "X": -4.577333, "Y": 48.3096, "PROGRAMME": "REBENT\/DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -4.577333, 48.3096 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Gorle Vihan", "X": -5.043467, "Y": 48.47205, "PROGRAMME": "REBENT", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "inactif" }, "geometry": { "type": "Point", "coordinates": [ -5.043467, 48.47205 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Ile Ronde", "X": -4.4634, "Y": 48.32465, "PROGRAMME": "REBENT\/DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -4.4634, 48.32465 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Ar Forc'h Vihan", "X": -5.141717, "Y": 48.445367, "PROGRAMME": "REBENT\/DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -5.141717, 48.445367 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Ile de l'Aber", "X": -4.437717, "Y": 48.221833, "PROGRAMME": "REBENT\/DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -4.437717, 48.221833 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Pointe du Van", "X": -4.717133, "Y": 48.066083, "PROGRAMME": "REBENT\/DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -4.717133, 48.066083 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Les Bluiniers", "X": -4.063533, "Y": 47.722467, "PROGRAMME": "REBENT\/DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -4.063533, 47.722467 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Linuen", "X": -3.96295, "Y": 47.844217, "PROGRAMME": "REBENT\/DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -3.96295, 47.844217 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "les Poulains", "X": -4.056917, "Y": 47.793583, "PROGRAMME": "REBENT", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -4.056917, 47.793583 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Pen a Men", "X": -3.951233, "Y": 47.721667, "PROGRAMME": "REBENT\/DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -3.951233, 47.721667 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Trou d'Enfer", "X": -3.465867, "Y": 47.621317, "PROGRAMME": "REBENT", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -3.465867, 47.621317 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Bastresse Sud", "X": -3.36735, "Y": 47.681817, "PROGRAMME": "REBENT\/DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -3.36735, 47.681817 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Magou‰r Nord", "X": -3.210717, "Y": 47.661117, "PROGRAMME": "REBENT", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -3.210717, 47.661117 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Tourelle de Gr‚gam", "X": -2.9167, "Y": 47.56565, "PROGRAMME": "REBENT\/DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -2.9167, 47.56565 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Pointe du Grand Guet", "X": -3.249933, "Y": 47.316767, "PROGRAMME": "REBENT\/DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -3.249933, 47.316767 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Er Pondeux", "X": -3.074467, "Y": 47.452117, "PROGRAMME": "REBENT", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -3.074467, 47.452117 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Wissant", "X": 1.676667, "Y": 50.912333, "PROGRAMME": "DCE", "OPERATEUR_": "Station de Wimer", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ 1.676667, 50.912333 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Audresselles", "X": 1.5845, "Y": 50.832833, "PROGRAMME": "DCE", "OPERATEUR_": "Station de Wimer", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ 1.5845, 50.832833 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Saint Aubin", "X": -0.42885, "Y": 49.352833, "PROGRAMME": "DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -0.42885, 49.352833 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Tatihou", "X": -1.231933, "Y": 49.585867, "PROGRAMME": "DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -1.231933, 49.585867 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Cap Levi", "X": -1.467817, "Y": 49.690883, "PROGRAMME": "DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -1.467817, 49.690883 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Cap de Flamanville", "X": -1.894817, "Y": 49.529033, "PROGRAMME": "DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -1.894817, 49.529033 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Les Ecrehou", "X": -1.937067, "Y": 49.2723, "PROGRAMME": "DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -1.937067, 49.2723 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Chausey", "X": -1.85205, "Y": 48.865067, "PROGRAMME": "DCE", "OPERATEUR_": "MNHN CC", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -1.85205, 48.865067 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Guetary Sud", "X": -1.618, "Y": 43.428583, "PROGRAMME": "DCE", "OPERATEUR_": "Ifremer Anglet", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -1.618, 43.428583 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Les Jumeaux", "X": -1.756583, "Y": 43.385567, "PROGRAMME": "DCE", "OPERATEUR_": "Ifremer Anglet", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -1.756583, 43.385567 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Soccoa", "X": -1.689, "Y": 43.396667, "PROGRAMME": "DCE", "OPERATEUR_": "Ifremer Anglet", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -1.689, 43.396667 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Le Pilier", "X": -2.377417, "Y": 47.045083, "PROGRAMME": "DCE\/ELV", "OPERATEUR_": "Bio-Littoral", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -2.377417, 47.045083 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Yeu Basse Flore", "X": -2.40571, "Y": 46.7322, "PROGRAMME": "DCE", "OPERATEUR_": "Bio-Littoral", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -2.40571, 46.7322 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "La Vigie", "X": -2.01735, "Y": 46.721367, "PROGRAMME": "DCE", "OPERATEUR_": "Bio-Littoral", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -2.01735, 46.721367 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Phare des baleines", "X": -1.592167, "Y": 46.2476, "PROGRAMME": "DCE", "OPERATEUR_": "Bio-Littoral", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -1.592167, 46.2476 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Guetary Nord", "X": -1.60625, "Y": 43.4289, "PROGRAMME": "DCE", "OPERATEUR_": "Ifremer Anglet", "STATUT_DU_": "inactif" }, "geometry": { "type": "Point", "coordinates": [ -1.60625, 43.4289 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Viviers Basques", "X": -1.712017, "Y": 43.389367, "PROGRAMME": "DCE", "OPERATEUR_": "Ifremer Anglet", "STATUT_DU_": "inactif" }, "geometry": { "type": "Point", "coordinates": [ -1.712017, 43.389367 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Port Vieux", "X": -1.5717, "Y": 43.483133, "PROGRAMME": "DCE", "OPERATEUR_": "Ifremer Anglet", "STATUT_DU_": "inactif" }, "geometry": { "type": "Point", "coordinates": [ -1.5717, 43.483133 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Dielette", "X": -1.869833, "Y": 49.550517, "PROGRAMME": "DCE", "OPERATEUR_": "Ecosub", "STATUT_DU_": "inactif" }, "geometry": { "type": "Point", "coordinates": [ -1.869833, 49.550517 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Gouville", "X": -1.648583, "Y": 49.107267, "PROGRAMME": "DCE", "OPERATEUR_": "Ecosub", "STATUT_DU_": "inactif" }, "geometry": { "type": "Point", "coordinates": [ -1.648583, 49.107267 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Le Croisic SR", "X": -2.559867, "Y": 47.30305, "PROGRAMME": "DCE\/ELV", "OPERATEUR_": "Bio-Littoral", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -2.559867, 47.30305 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Penchateau SR", "X": -2.412467, "Y": 47.256833, "PROGRAMME": "DCE\/ELV", "OPERATEUR_": "Bio-Littoral", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -2.412467, 47.256833 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "Baguenaud SR", "X": -2.35355, "Y": 47.232017, "PROGRAMME": "DCE\/ELV", "OPERATEUR_": "Bio-Littoral", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -2.35355, 47.232017 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "La Banche Nord SR", "X": -2.4672, "Y": 47.184617, "PROGRAMME": "DCE\/ELV", "OPERATEUR_": "Bio-Littoral", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -2.4672, 47.184617 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "La Pointe Saint Gildas", "X": -2.253433, "Y": 47.134083, "PROGRAMME": "DCE\/ELV", "OPERATEUR_": "Bio-Littoral", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -2.253433, 47.134083 ] } },
+{ "type": "Feature", "properties": { "LIB_SITE": "La Banche Sud SR", "X": -2.467883, "Y": 47.17335, "PROGRAMME": "DCE\/ELV", "OPERATEUR_": "Bio-Littoral", "STATUT_DU_": "actif" }, "geometry": { "type": "Point", "coordinates": [ -2.467883, 47.17335 ] } }
+]
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/datafile_1.tsv	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,113 @@
+Id	density_boats	distance_coast	percentage_turbidity	nb_individual	recorder	min_t	max_wind
+ID1	0	7.083851986	1	1	13740	9	13
+ID2	0	5.057419245	1	1	3760	11.7	15
+ID3	0	14.81271925	1	1	17598	9	13
+ID4	23.38130966	17.39474876	0	1	17607	12.8	24
+ID5	0	13.8788222	1	1	17608	14.3	17
+ID6	0	20.55593297	1	1	13733	20	17
+ID7	0	5.228906117	1	1	10250	14.3	30
+ID8	0	8.18336163	0.963336783	2	13740	11.7	15
+ID9	0	14.77478497	1	1	13733	11.7	15
+ID10	0	18.23789045	1	1	17573	9	13
+ID11	0	30.97770737	0.934057759	2	17608	8.1	13
+ID12	0	14.72135785	0	2	13733	8.1	13
+ID13	0	26.97792869	1	1	17578	8.1	13
+ID14	0	8.63834361	1	1	17329	11.7	15
+ID15	23.42372625	2.371250707	0.611485317	2	17232	14.3	30
+ID16	0	2.058590657	1	1	NA	11.7	15
+ID17	0	14.5557442	1	1	11693	14.3	17
+ID18	0	15.31628381	0.484376584	2	10250	14.2	9
+ID19	22.68310089	18.12266606	1	1	13733	16.9	13
+ID20	0	10.71630644	0.946424061	2	17608	NA	NA
+ID21	0	7.492501839	1	1	17608	14.3	30
+ID22	0	2.455167732	1	1	17578	8.1	13
+ID23	0	0.215005092	0.619357094	2	17608	13.3	0
+ID24	0	20.5942275	0.530977409	2	17573	12.8	24
+ID25	0	0.00565931	1	1	10250	9	13
+ID26	0	4.61669024	1	1	3760	8.1	13
+ID27	0	0.650746944	1	1	13289	NA	NA
+ID28	11.55094443	4.256523462	0.534748923	2	17608	17.4	15
+ID29	25.29249263	0.333785924	0	3	11693	16.9	13
+ID30	5.659985665	3.927116342	1	1	17578	16.9	13
+ID31	0	0.011314137	0	2	13740	20	17
+ID32	0	6.724401426	0.262229612	3	17578	8.5	7
+ID33	0	10.20546782	0.456408314	2	13676	17.8	13
+ID34	0	0.005662514	1	1	13289	9	13
+ID35	0	12.50424544	1	1	13733	13.3	0
+ID36	41.24173899	0.028288543	0	2	17607	NA	NA
+ID37	0	0.707453733	0	2	13733	17.8	13
+ID38	7.278017273	8.411585021	0.521433594	2	17601	17.4	15
+ID39	26.46665163	3.174693	1	1	17598	11.7	15
+ID40	21.65723654	8.846001472	0.672489759	2	17232	9	13
+ID41	0	7.296088753	0.033790965	2	17601	9	13
+ID42	0	0.848848396	0	3	17608	17.4	14
+ID43	0	17.47693701	1	1	NA	8.1	13
+ID44	0	8.040770102	1	1	17329	8.1	13
+ID45	0	9.227200724	1	1	17607	8.1	13
+ID46	0	4.089829166	0	1	17607	17.4	15
+ID47	16.24258106	12.9081546	0.519677866	2	17232	14.3	17
+ID48	0	28.17682685	0	3	13733	14.2	9
+ID49	0	11.13752122	0.568145458	2	17329	12.8	24
+ID50	0	12.15482119	0.744442086	2	13676	17.4	14
+ID51	0	1.075147125	0.126547756	2	17329	17.8	13
+ID52	0	0.639429606	0.318501019	3	17573	17.8	13
+ID53	0	11.34563151	1	1	13289	9	13
+ID54	0	6.070721358	1	1	11693	8.1	13
+ID55	0	2.534940304	1	1	3760	NA	NA
+ID56	0	0	1	1	17608	14.9	13
+ID57	23.6734518	9.73526417	1	1	13733	14.9	13
+ID58	22.77461434	2.30834512	0	2	3760	17.4	15
+ID59	0	9.034849513	1	1	NA	14.3	30
+ID60	0	1.61299451	1	1	17598	8.1	13
+ID61	0	1.550212164	1	1	17601	8.1	13
+ID62	16.6417688	0.198064626	1	1	13676	13.3	0
+ID63	0	0.147167035	0.503759276	2	13740	14.9	13
+ID64	0	1.126075147	1	1	17329	14.2	9
+ID65	0	1.166213768	0.486555056	2	10250	17.4	14
+ID66	0	37.17890687	0.241246715	3	11693	12.3	11
+ID67	0	1.01318843	1	1	NA	11.7	15
+ID68	0	14.97426034	0.513275979	3	17578	8.5	7
+ID69	0	0.050933786	1	1	10250	13.3	0
+ID70	0	1.60733488	1	1	11693	13.3	0
+ID71	0	0.15274085	0.616607437	2	11693	14.9	13
+ID72	0	4.745186863	0.427826338	3	17578	14.9	13
+ID73	0	0.005658029	1	1	13289	17.4	15
+ID74	20.10097018	1.120479882	1	1	17329	9	13
+ID75	0	1.833512535	1	1	11693	9	13
+ID76	0	1.964892412	1	1	3760	14.9	13
+ID77	0	1.024508972	1	1	17598	13.3	0
+ID78	13.02008677	2.446206116	0	2	17601	17.8	13
+ID79	0	5.849408836	0.506514891	2	17601	12.3	11
+ID80	0	0.82602546	1	1	17607	20	17
+ID81	0	6.632335465	1	1	13733	17.8	13
+ID82	9.774097667	2.083923212	0.147137616	2	17329	17.4	14
+ID83	0	0.843046283	1	1	17598	11.7	15
+ID84	0	17.16743054	1	1	3760	9	13
+ID85	0	2.347816248	1	1	17607	13.3	0
+ID86	0	2.089467724	1	1	17608	8.1	13
+ID87	14.70497236	1.782279054	1	1	17329	8.1	13
+ID88	0	1.828267391	1	1	10250	8.1	13
+ID89	19.54258479	2.829334541	1	1	3760	14.3	30
+ID90	22.89867383	0.50376408	1	1	17573	14.3	30
+ID91	0	7.486419194	1	1	13676	14.2	9
+ID92	0	4.612337295	1	1	17601	11.7	15
+ID93	0	20.34521788	1	1	17232	11.7	15
+ID94	0	13.69731259	0.558754442	2	13289	14.3	17
+ID95	0	0.481041313	0.601822162	2	17607	14.3	17
+ID96	0	19.55721647	0.856473518	3	17232	16.9	13
+ID97	0	9.467489106	1	1	10250	17.4	15
+ID98	0	22.78746039	0.460271388	3	11693	14.3	30
+ID99	0	8.380520951	0.769578171	2	17607	9	13
+ID100	32.43763517	0.486507892	0.297384797	4	17573	12.3	11
+ID101	39.87341993	18.47598574	0.377696294	3	17329	NA	NA
+ID102	0	1.482655198	0.420523151	2	17598	NA	NA
+ID103	0	1.188455008	1	1	13289	8.1	13
+ID104	0	2.981949867	1	1	17232	13.3	0
+ID105	6.048310547	0.06224536	1	1	17578	17.4	14
+ID106	0	0.067957866	1	1	17232	17.4	14
+ID107	0	0.305516266	0	1	17598	17.4	14
+ID108	0	1.375212224	0.512278187	2	17601	20	17
+ID109	23.18323585	0.045282164	0.355925541	2	13676	17.4	14
+ID110	0	0	0.599181014	2	17232	13.3	0
+ID111	0	0.050922259	1	1	17329	14.9	13
+ID112	0	0.763920326	1	1	13740	13.3	0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/entities.txt	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,4 @@
+objectName	variable	value
+data_7.GeoJSON	geometry	Point
+data_7.GeoJSON	geometricObjectCount	65
+data_7.GeoJSON	spatialReference	GCS_WGS_1984
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/geographic_coverage.tabular	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,2 @@
+geographicDescription	northBoundingCoordinate	southBoundingCoordinate	eastBoundingCoordinate	westBoundingCoordinate
+Yvelines - Essonne - Seine et Marne	49.08428	48.12266	3.56409	1.60296
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/geographic_coverage.txt	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,5 @@
+geographicDescription	northBoundingCoordinate	southBoundingCoordinate	eastBoundingCoordinate	westBoundingCoordinate
+1	-65.999946	-65.999946	142.3360535	142.3360535
+2	-66.394359	-66.394359	140.4840125	140.4840125
+3	-66.023545	-66.023545	142.745584	142.745584
+4	-66.3379125	-66.3379125	144.011634	144.011634
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/keywords.tabular	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,7 @@
+keyword	keywordThesaurus
+Acoustic monitoring	Keywords
+Bat community	Keywords
+Farmland biodiversity	Keywords
+Field borders	Keywords
+Habitat specialisation	Keywords
+Landscape composition	Keywords
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/keywords.txt	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,7 @@
+keyword	keywordThesaurus
+Acoustic monitoring	Keywords
+Bat community	Keywords
+Farmland biodiversity	Keywords
+Field borders	Keywords
+Habitat specialisation	Keywords
+Landscape composition	Keywords
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/metadataoutput.xml	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<eml:eml xmlns:eml="https://eml.ecoinformatics.org/eml-2.2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:stmml="http://www.xml-cml.org/schema/stmml-1.2" packageId="0a0472ad-2e8f-412f-8e95-ba84b7cc9996" xsi:schemaLocation="https://eml.ecoinformatics.org/eml-2.2.0/eml.xsd https://eml.ecoinformatics.org/eml-2.2.0/eml.xsd" system="unknown">
+  <dataset id="dataset">
+    <creator>
+      <individualName>
+        <givenName>Constance</givenName>
+        <surName>Blary</surName>
+      </individualName>
+      <organizationName>CEFE</organizationName>
+      <electronicMailAddress>constance.blary@cefe.cnrs.fr</electronicMailAddress>
+    </creator>
+    <creator>
+      <individualName>
+        <givenName>Kévin</givenName>
+        <surName>Barré</surName>
+      </individualName>
+      <organizationName>CESCO MNHN</organizationName>
+      <electronicMailAddress>kevin.barre@mnhn.fr</electronicMailAddress>
+    </creator>
+    <creator>
+      <individualName>
+        <givenName>Christian</givenName>
+        <surName>Kerbiriou</surName>
+      </individualName>
+      <organizationName>CESCO</organizationName>
+      <electronicMailAddress>christian.kerbiriou@mnhn.fr</electronicMailAddress>
+    </creator>
+    <creator>
+      <individualName>
+        <givenName>Isabelle</givenName>
+        <surName>Le Viol</surName>
+      </individualName>
+      <organizationName>CESCO</organizationName>
+      <electronicMailAddress>isabelle.le-viol@mnhn.fr</electronicMailAddress>
+    </creator>
+    <pubDate>2023-07-23</pubDate>
+    <keywordSet>
+      <keyword>Acoustic monitoring</keyword>
+      <keyword>Bat community</keyword>
+      <keyword>Farmland biodiversity</keyword>
+      <keyword>Field borders</keyword>
+      <keyword>Habitat specialisation</keyword>
+      <keyword>Landscape composition</keyword>
+      <keywordThesaurus>Keywords</keywordThesaurus>
+    </keywordSet>
+    <coverage>
+      <geographicCoverage>
+        <geographicDescription>Yvelines - Essonne - Seine et Marne</geographicDescription>
+        <boundingCoordinates>
+          <westBoundingCoordinate>1.60296</westBoundingCoordinate>
+          <eastBoundingCoordinate>3.56409</eastBoundingCoordinate>
+          <northBoundingCoordinate>49.08428</northBoundingCoordinate>
+          <southBoundingCoordinate>48.12266</southBoundingCoordinate>
+        </boundingCoordinates>
+      </geographicCoverage>
+    </coverage>
+    <annotation>
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="biodiversity">http://aims.fao.org/aos/agrovoc/c_33949</valueURI>
+    </annotation>
+    <annotation>
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="mammals">http://aims.fao.org/aos/agrovoc/c_4560</valueURI>
+    </annotation>
+    <annotation>
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="chiroptera">http://aims.fao.org/aos/agrovoc/c_1560</valueURI>
+    </annotation>
+    <annotation>
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="bats">http://aims.fao.org/aos/agrovoc/c_1560</valueURI>
+    </annotation>
+    <annotation>
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="Landscape">http://www.eionet.europa.eu/gemet/concept/4648</valueURI>
+    </annotation>
+    <annotation>
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="Ecosystem">http://www.eionet.europa.eu/gemet/concept/2519</valueURI>
+    </annotation>
+    <annotation>
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="Animal ecology">http://www.eionet.europa.eu/gemet/concept/420</valueURI>
+    </annotation>
+    <contact>
+      <individualName>
+        <givenName>Constance</givenName>
+        <surName>Blary</surName>
+      </individualName>
+      <organizationName>CEFE</organizationName>
+      <electronicMailAddress>constance.blary@cefe.cnrs.fr</electronicMailAddress>
+    </contact>
+    <contact>
+      <individualName>
+        <givenName>Kévin</givenName>
+        <surName>Barré</surName>
+      </individualName>
+      <organizationName>CESCO MNHN</organizationName>
+      <electronicMailAddress>kevin.barre@mnhn.fr</electronicMailAddress>
+    </contact>
+    <project>
+      <title>Effect of agricultural landscape features on bats</title>
+      <personnel>
+        <individualName>
+          <givenName>Kévin</givenName>
+          <surName>Barré</surName>
+        </individualName>
+        <organizationName>CESCO MNHN</organizationName>
+        <electronicMailAddress>kevin.barre@mnhn.fr</electronicMailAddress>
+        <role>Principal Investigator</role>
+      </personnel>
+      <funding>DIM ASTREA Région Ile-de-France, FRB</funding>
+    </project>
+  </dataset>
+  <annotations>
+    <annotation references="dataset">
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="biodiversity">http://aims.fao.org/aos/agrovoc/c_33949</valueURI>
+    </annotation>
+    <annotation references="dataset">
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="mammals">http://aims.fao.org/aos/agrovoc/c_4560</valueURI>
+    </annotation>
+    <annotation references="dataset">
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="chiroptera">http://aims.fao.org/aos/agrovoc/c_1560</valueURI>
+    </annotation>
+    <annotation references="dataset">
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="bats">http://aims.fao.org/aos/agrovoc/c_1560</valueURI>
+    </annotation>
+    <annotation references="dataset">
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="Landscape">http://www.eionet.europa.eu/gemet/concept/4648</valueURI>
+    </annotation>
+    <annotation references="dataset">
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="Ecosystem">http://www.eionet.europa.eu/gemet/concept/2519</valueURI>
+    </annotation>
+    <annotation references="dataset">
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="Animal ecology">http://www.eionet.europa.eu/gemet/concept/420</valueURI>
+    </annotation>
+  </annotations>
+  <additionalMetadata>
+    <metadata>
+      <emlEditor>
+        <app>EMLassemblyline</app>
+        <release>3.5.5</release>
+      </emlEditor>
+    </metadata>
+  </additionalMetadata>
+</eml:eml>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/personnel.tabular	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,8 @@
+givenName	middleInitial	surName	organizationName	electronicMailAddress	userId	role	projectTitle	fundingAgency	fundingNumber
+Constance		Blary	CEFE	constance.blary@cefe.cnrs.fr	https://orcid.org/0000-0001-6204-9983	creator			
+Kévin		Barré	CESCO MNHN	kevin.barre@mnhn.fr	https://orcid.org/0000-0001-5368-4053	creator			
+Christian		Kerbiriou	CESCO	christian.kerbiriou@mnhn.fr	https://orcid.org/0000-0001-6080-4762	creator			
+Isabelle		Le Viol	CESCO	isabelle.le-viol@mnhn.fr		creator			
+Constance	""	Blary	CEFE	constance.blary@cefe.cnrs.fr	https://orcid.org/0000-0001-6204-9983	contact			
+Kévin	""	Barré	CESCO MNHN	kevin.barre@mnhn.fr	https://orcid.org/0000-0001-5368-4053	contact			
+Kévin	""	Barré	CESCO MNHN	kevin.barre@mnhn.fr	https://orcid.org/0000-0001-5368-4053	PI	Effect of agricultural landscape features on bats	DIM ASTREA Région Ile-de-France, FRB	
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/personnel.txt	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,8 @@
+givenName	middleInitial	surName	organizationName	electronicMailAddress	userId	role	projectTitle	fundingAgency	fundingNumber
+Constance		Blary	CEFE	constance.blary@cefe.cnrs.fr	https://orcid.org/0000-0001-6204-9983	creator			
+Kévin		Barré	CESCO MNHN	kevin.barre@mnhn.fr	https://orcid.org/0000-0001-5368-4053	creator			
+Christian		Kerbiriou	CESCO	christian.kerbiriou@mnhn.fr	https://orcid.org/0000-0001-6080-4762	creator			
+Isabelle		Le Viol	CESCO	isabelle.le-viol@mnhn.fr		creator			
+Constance	""	Blary	CEFE	constance.blary@cefe.cnrs.fr	https://orcid.org/0000-0001-6204-9983	contact			
+Kévin	""	Barré	CESCO MNHN	kevin.barre@mnhn.fr	https://orcid.org/0000-0001-5368-4053	contact			
+Kévin	""	Barré	CESCO MNHN	kevin.barre@mnhn.fr	https://orcid.org/0000-0001-5368-4053	PI	Effect of agricultural landscape features on bats	DIM ASTREA Région Ile-de-France, FRB	
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/report.txt	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,2 @@
+Your EML is not valid. You can improve it by correcting this error: 
+[1] "Element 'creator': This element is not expected. Expected is one of ( references, alternateIdentifier, shortName, title )."
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/taxa.tsv	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,5 @@
+taxa	site
+Achelia_sp	1
+Achelia_spicata	2
+Achelia_suflata	2
+Ammothea_adunca	3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/taxonomic_coverage.txt	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,5 @@
+name	name_type	name_resolved	authority_system	authority_id
+Achelia_sp	scientific	Achelia	GBIF Backbone Taxonomy	2118396
+Achelia_spicata	scientific	Achelia spicata	GBIF Backbone Taxonomy	4338694
+Achelia_suflata	scientific	Achelia suflata	GBIF Backbone Taxonomy	NA
+Ammothea_adunca	scientific	Ammothea adunca	GBIF Backbone Taxonomy	5720487
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test-geocov.tabular	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,5 @@
+site	lat	long
+1	-65.999946	142.3360535
+2	-66.394359	140.4840125
+3	-66.023545	142.745584
+4	-66.3379125	144.011634
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test_geocov.tsv	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,5 @@
+site	lat	long
+1	-65.999946	142.3360535
+2	-66.394359	140.4840125
+3	-66.023545	142.745584
+4	-66.3379125	144.011634
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vector_templates.R	Fri Sep 27 13:01:04 2024 +0000
@@ -0,0 +1,22 @@
+#15/12/2023 #SEGUINEAU Pauline 
+
+#Load packages
+
+library(EMLassemblyline)
+
+#Load arguments
+
+if (length(commandArgs(trailingOnly = TRUE)) > 0) {
+    data_vector <- commandArgs(trailingOnly = TRUE)[1]   
+}
+
+#Transform arguments
+
+vector =  strsplit(data_vector," ")
+
+#Make templates to describe data raster
+
+template_vector_attributes(path = ".",data.path= "data_files", vector.file = vector[[1]])
+template_categorical_variables(path = ".", data.path = "data_files")
+
+