Repository 'ecoregion_brt_analysis'
hg clone https://toolshed.g2.bx.psu.edu/repos/ecology/ecoregion_brt_analysis

Changeset 1:fc621f3f8226 (2024-01-24)
Previous changeset 0:f0d6938d0451 (2023-10-18) Next changeset 2:f8962f1c832a (2024-03-21)
Commit message:
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit 459ba1277acd7d8d4a02f90dbd7ff444bf8eac92
modified:
BRT_model.xml
brt.R
cluster_ceamarc.R
crea_carte_G.R
nb_clust_G.R
recup_liste_taxon.R
test-data/Data.bio_table.tsv
test-data/Data_to_cluster.tsv
test-data/List_of_taxa.txt
test-data/List_of_taxa_clean.txt
test-data/SIH_index_plot.png
test-data/ecoregions.png
added:
test-data/1_brts_pred_ceamarc.tsv
test-data/Summary_of_taxa_model.tsv
test-data/ceamarc_env.tsv
test-data/cnidaria_filtered.tsv
test-data/points_clus.tsv
removed:
test-data/1_brts_pred_ceamarc.txt
test-data/Summary_of_taxa_model.csv
test-data/ceamarc_env.csv
test-data/cnidaria_filtered.csv
test-data/points_clus.txt
b
diff -r f0d6938d0451 -r fc621f3f8226 BRT_model.xml
--- a/BRT_model.xml Wed Oct 18 09:58:51 2023 +0000
+++ b/BRT_model.xml Wed Jan 24 15:52:56 2024 +0000
[
@@ -1,4 +1,4 @@
-<tool id="ecoregion_brt_analysis" name="BRT tool prediction" version="0.1.0+galaxy0" profile="22.05">
+<tool id="ecoregion_brt_analysis" name="BRT prediction tool" version="0.1.0+galaxy0" profile="22.05">
     <description>for species distribution modelling</description>
     <requirements>
        <requirement type="package" version="4.3.0">r-base</requirement>
@@ -16,15 +16,25 @@
          '$outputval'
          '$outputspdistri'
          '$outputplots'
+         '$dec_env'
+         '$dec_species'
     ]]></command>
     <inputs>
-      <param name="enviro" type="data" format="txt,csv,tabular" label="Environment Data"/>
-      <param type="data" name="species_files" label="Occurrences Data File" format="tabular,txt,csv" multiple="True" />
-      <param name="abioticname" type="text" label="Write the name of your abiotic parameters (comma separated)"/>
+      <param name="enviro" type="data" format="tabular" label="Input your environment data file of your study area (tabular format only)" help="See example below"/>
+      <param name="dec_env" type="select" label="What's the decimal separator of your environement data file ?">
+              <option value=".">Dot</option>
+              <option value=",">Comma</option>
+      </param>
+      <param type="data" name="species_files" label="Input your occurrences data file(s) containing also the environemental caracteristics where the species has been observe (tabular format only)" format="tabular" multiple="True" help="See example below"/>
+      <param name="dec_species" type="select" label="What's the decimal separator of your occurrences data file(s) ?" help="It must be the same for all your occurences data files" >
+              <option value=".">Dot</option>
+              <option value=",">Comma</option>
+      </param>
+      <param name="abioticname" type="data_column" label="Choose column(s) where your abiotic parameter are in your environment data file." data_ref="enviro" multiple="true"/>
     </inputs>
     <outputs>
       <collection name="outputpred" type="list" label="Prediction files">
-            <discover_datasets pattern="(?P&lt;designation&gt;.+_brts_pred_ceamarc)\.txt" format="txt"/>
+            <discover_datasets pattern="(?P&lt;designation&gt;.+_brts_pred_ceamarc)\.tsv" format="tabular"/>
       </collection>
       <collection name="outputval" type="list" label="Validation files (Taxa, AUC, Tree complexity, Total deviance explained)">
             <discover_datasets pattern="(?P&lt;designation&gt;.+_brts_validation_ceamarc)\.tsv" format="tabular" />
@@ -38,25 +48,15 @@
     </outputs>
     <tests>
         <test>
-            <param name="enviro" value="ceamarc_env.csv"/>
-            <param name="species_files" value="cnidaria_filtered.csv"/>
-            <param name="abioticname" value="Carbo,Grav,Maxbearing,Maxmagnit,Meancurmag,Meansal,Meantheta,Mud,Prof,Rugosity,Sand,Seaice_prod,Sili,Slope,Standcurmag,Standsal,Standtheta"/>
+            <param name="enviro" value="ceamarc_env.tsv"/>
+            <param name="species_files" value="cnidaria_filtered.tsv"/>
+            <param name="abioticname" value="3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19"/>
+            <param name="dec_env" value="Dot"/>
+            <param name="dec_species" value="Comma"/>
             <output_collection name='outputpred' type = "list" count="1"/>
             <output_collection name='outputval' type = "list" count="1"/>
-            <output_collection name='outputspdistri' type = "list" count="2">
-                  <element name="BRT- Actiniaria _pred_plot">
-                       <assert_contents>
-                        <has_size value="76065" delta="10000"/>
-                   </assert_contents>
-               </element>
-            </output_collection>
-            <output_collection name='outputplots' type = "list">
-                  <element name="BRT- Actiniaria " >
-                       <assert_contents>
-                        <has_size value="16042" delta="1000"/>
-                    </assert_contents>
-               </element>
-            </output_collection>
+            <output_collection name='outputspdistri' type = "list" count="2"/>
+            <output_collection name='outputplots' type = "list" count="2"/>
         </test>
     </tests>
     <help><![CDATA[
@@ -71,8 +71,12 @@
 **How to use it ?**
 ===================
         
-This tool takes in input the environmental data as well as the species occurrence data. See examples of inputs below. You also need to input the list of abiotic parameters (respecting the case, without spaces and separating them by commas). For example : Carbo,Grav,Maxbearing,...
-This tool gives in output a file containing the predictions of probability of presence of each taxon for each pixel (latitude, longitude) environmental, a visualization of these pixels for each taxon and graphs showing the percentage of model explanation for each environmental parameter. 
+This tool takes in input the environmental data (for all the study areas) as well as the species occurrence data and the environmental characteristics where the species has been observed. See examples of inputs below. These files need to be in tabular format. You also need to select the column where your abiotic parameters are in your environment data file.

+ .. class:: infomark 
+Your abiotic parameters must be present in your occurrence data file(s) and must be named the same as in your environment file.

+This tool gives in output a file containing the predictions of the probability of the presence of each taxon for each pixel (latitude, longitude) environmental, a visualization of these pixels for each taxon and graphs showing the percentage of model explanation for each environmental parameter. 
 
 **Example of environmental data input :** 
 -----------------------------------------
@@ -87,22 +91,18 @@
 | ...  | ...  |   ...   | ...  |     ...      | ... |
 +------+------+---------+------+--------------+-----+
 
-
 **Example of occurence data input :** 
 -------------------------------------
 
-+---------+----------+-----------+------------------------+-----------+-----+
-| station |   lat    |   long    |Acanthorhabdus_fragilis | Acarnidae | ... |
-+---------+----------+-----------+------------------------+-----------+-----+
-|    1    |-65,999946|142,3360535|           0            |     1     | ... |
-+---------+----------+-----------+------------------------+-----------+-----+
-|   10    |-66,335407| 141,3028  |           0            |     1     | ... |
-+---------+----------+-----------+------------------------+-----------+-----+
-|   ...   |   ...    |   ...     |          ...           |    ...    | ... |
-+---------+----------+-----------+------------------------+-----------+-----+
-
-
-
++---------+----------+-----------+------------------------+-----------+-----+------+--------------+-----+
+| station |   lat    |   long    |Acanthorhabdus_fragilis | Acarnidae | ... | Grav |  Maxbearing  | ... |
++---------+----------+-----------+------------------------+-----------+-----+------+--------------+-----+
+|    1    |-65,999946|142,3360535|           0            |     1     | ... |28.59 |     3.67     | ... |
++---------+----------+-----------+------------------------+-----------+-----+------+--------------+-----+
+|   10    |-66,335407| 141,3028  |           0            |     1     | ... |28.61 |     3.64     | ... |
++---------+----------+-----------+------------------------+-----------+-----+------+--------------+-----+
+|   ...   |   ...    |   ...     |          ...           |    ...    | ... | ...  |     ...      | ... |
++---------+----------+-----------+------------------------+-----------+-----+------+--------------+-----+
 
     ]]></help>
 </tool>
b
diff -r f0d6938d0451 -r fc621f3f8226 brt.R
--- a/brt.R Wed Oct 18 09:58:51 2023 +0000
+++ b/brt.R Wed Jan 24 15:52:56 2024 +0000
[
b'@@ -1,109 +1,121 @@\n-#16/02/2023\r\n-## Analyse BRT data Ceamarc\r\n-\r\n-### Clean environment \r\n-rm(list = ls(all.names = TRUE))\r\n-options(warn=-1)\r\n-\r\n-### load packages\r\n-\r\n-library(dismo, warn.conflicts = FALSE)\r\n-library(gbm, warn.conflicts = FALSE)\r\n-library(ggplot2, warn.conflicts = FALSE)\r\n-\r\n-\r\n-#load arguments\r\n-args = commandArgs(trailingOnly=TRUE) \r\n-if (length(args)==0)\r\n-{\r\n-    stop("This tool needs at least one argument")\r\n-}else{\r\n-    enviro <- args[1]\r\n-    species_files <- args[2]\r\n-    abio_para <- args[3]\r\n-}\r\n-\r\n-### load data\r\n-\r\n-env = read.table(enviro, header = TRUE, dec = ".", na.strings = "-9999")\r\n-pred.vars = strsplit(abio_para, ",")[[1]] \r\n-data_files = strsplit(species_files,",")\r\n-\r\n-#environemental parameters\r\n-#Carbo,Grav,Maxbearing,Maxmagnit,Meancurmag,Meansal,Meantheta,Mud,Prof,Rugosity,Sand,Seaice_prod,Sili,Slope,Standcurmag,Standsal,Standtheta\r\n-\r\n-#Load functions\r\n-\r\n-make.brt <- function(spe,data,pred.vars,env,nb_file){\r\n-   brt_step <- gbm.step(data= data, gbm.x = pred.vars, gbm.y = spe, family = "bernoulli", tree.complexity = 2, learning.rate = 0.0001,max.trees = 10000,plot.main = F)\r\n-   #plot\r\n-   if (is.null(brt_step)==FALSE){\r\n-     pdf(file = paste("BRT-",spe,".pdf"))\r\n-     gbm.plot(brt_step, write.title = T,show.contrib = T, y.label = "fitted function",plot.layout = c(3,3))\r\n-     dev.off()\r\n-     #total deviance explained as (Leathwick et al., 2006)\r\n-     total_deviance <- brt_step$self.statistics$mean.null\r\n-     cross_validated_residual_deviance <- brt_step$cv.statistics$deviance.mean\r\n-     total_deviance_explained <- (total_deviance - cross_validated_residual_deviance)/total_deviance\r\n-     #Validation file\r\n-     valid = cbind(spe,brt_step$cv.statistics$discrimination.mean,brt_step$gbm.call$tree.complexity,total_deviance_explained)\r\n-     write.table(valid, paste(nb_file,"_brts_validation_ceamarc.tsv",sep=""), quote=FALSE, dec=".",sep="\\t" ,row.names=F, col.names=F,append = T)}\r\n-   \r\n-   return(brt_step)\r\n-   }\r\n-\r\n-make.prediction.brt <- function(brt_step){\r\n-  #predictions\r\n-  preds <- predict.gbm(brt_step,env,n.trees=brt_step$gbm.call$best.trees, type="response")\r\n-  preds <- as.data.frame(cbind(env$lat,env$long,preds))\r\n-  colnames(preds) <- c("lat","long","Prediction.index")\r\n-  #carto\r\n-  ggplot()+\r\n-    geom_raster(data = preds , aes(x = long, y = lat, fill = Prediction.index))+\r\n-    geom_raster(data = preds , aes(x = long, y = lat, alpha = Prediction.index))+\r\n-    scale_alpha(range = c(0,1), guide = "none")+\r\n-    scale_fill_viridis_c(\r\n-      alpha = 1,\r\n-      begin = 0,\r\n-      end = 1,\r\n-      direction = -1,\r\n-      option = "D",\r\n-      values = NULL,\r\n-      space = "Lab",\r\n-      na.value = "grey50",\r\n-      guide = "colourbar",\r\n-      aesthetics = "fill")+\r\n-    xlab("Longitude") + ylab("Latitude")+ ggtitle(paste(spe,"Plot of BRT predictions"))+\r\n-    theme(plot.title = element_text(size = 10))+\r\n-    theme(axis.title.y = element_text(size = 10))+\r\n-    theme(axis.title.x = element_text(size = 10))+\r\n-    theme(axis.text.y = element_text(size = 10))+\r\n-    theme(axis.text.x = element_text(size = 10))+\r\n-    theme(legend.text = element_text(size = 10))+\r\n-    theme(legend.title = element_text(size = 10))+ \r\n-    coord_quickmap()\r\n-  output_directory <- ggsave(paste("BRT-",spe,"_pred_plot.png"))\r\n-  \r\n-  #Write prediction in a file\r\n-  preds <- cbind(preds,spe)\r\n-  write.table(preds, paste(nb_file,"_brts_pred_ceamarc.txt",sep=""), quote=FALSE, dec=".", row.names=F, col.names=T,append = T)\r\n-}\r\n-\r\n-#### RUN BRT ####\r\n-nb_file = 0\r\n-\r\n-for (file in data_files[[1]]) {\r\n-  species_data <- read.table(file, dec = ",", sep = ";", header = TRUE, na.strings = "na", colClasses = "numeric")\r\n-  nb_file = nb_file + 1\r\n-  `%!in%` <- Negate(`%in%`)\r\n-  sp = list()\r\n-  for (n in names(species_data)) {\r\n-    if (n %!in% names(env) && n != \'station\'){\r\n-       sp = cbind(sp,n)\r\n-    }\r\n-  }\r\n-  \r\n-  for (spe in sp){\r\n-   try(make.prediction.brt(make.brt(spe,species_data,p'..b's = commandArgs(trailingOnly=TRUE) \n+if (length(args)==0)\n+{\n+    stop("This tool needs at least one argument")\n+}else{\n+    enviro <- args[1]\n+    species_files <- args[2]\n+    abio_para <- args[3]\n+    dec_env <- args[8]\n+    dec_species <- args[9]\n+}\n+\n+### load data\n+\n+env = read.table(enviro, dec = dec_env, header = TRUE, sep="\\t", na.strings = "-9999")\n+pred_vars = strsplit(abio_para, ",")[[1]] \n+data_files = strsplit(species_files,",")\n+\n+pred.vars <- character(length(pred_vars))\n+\n+for (i in seq_along(pred_vars)) {\n+       pred_var_col <- as.numeric(pred_vars[i])\n+       pred.vars[i] <- names(env)[pred_var_col]}\n+       \n+#environemental parameters\n+#Carbo,Grav,Maxbearing,Maxmagnit,Meancurmag,Meansal,Meantheta,Mud,Prof,Rugosity,Sand,Seaice_prod,Sili,Slope,Standcurmag,Standsal,Standtheta\n+\n+#Load functions\n+\n+make.brt <- function(spe,data,pred.vars,env,nb_file){\n+   brt_step <- gbm.step(data= data, gbm.x = pred.vars, gbm.y = spe, family = "bernoulli", tree.complexity = 2, learning.rate = 0.0001,max.trees = 10000,plot.main = F)\n+   #plot\n+   if (is.null(brt_step)==FALSE){\n+     pdf(file = paste("BRT-",spe,".pdf"))\n+     gbm.plot(brt_step, write.title = T,show.contrib = T, y.label = "fitted function",plot.layout = c(3,3))\n+     dev.off()\n+     #total deviance explained as (Leathwick et al., 2006)\n+     total_deviance <- brt_step$self.statistics$mean.null\n+     cross_validated_residual_deviance <- brt_step$cv.statistics$deviance.mean\n+     total_deviance_explained <- (total_deviance - cross_validated_residual_deviance)/total_deviance\n+     #Validation file\n+     valid = cbind(spe,brt_step$cv.statistics$discrimination.mean,brt_step$gbm.call$tree.complexity,total_deviance_explained)\n+     write.table(valid, paste(nb_file,"_brts_validation_ceamarc.tsv",sep=""), quote=FALSE, dec=".",sep="\\t" ,row.names=F, col.names=F,append = T)}\n+   \n+   return(brt_step)\n+   }\n+\n+make.prediction.brt <- function(brt_step){\n+  #predictions\n+  preds <- predict.gbm(brt_step,env,n.trees=brt_step$gbm.call$best.trees, type="response")\n+  preds <- as.data.frame(cbind(env$lat,env$long,preds))\n+  colnames(preds) <- c("lat","long","Prediction.index")\n+  #carto\n+  ggplot()+\n+    geom_raster(data = preds , aes(x = long, y = lat, fill = Prediction.index))+\n+    geom_raster(data = preds , aes(x = long, y = lat, alpha = Prediction.index))+\n+    scale_alpha(range = c(0,1), guide = "none")+\n+    scale_fill_viridis_c(\n+      alpha = 1,\n+      begin = 0,\n+      end = 1,\n+      direction = -1,\n+      option = "D",\n+      values = NULL,\n+      space = "Lab",\n+      na.value = "grey50",\n+      guide = "colourbar",\n+      aesthetics = "fill")+\n+    xlab("Longitude") + ylab("Latitude")+ ggtitle(paste(spe,"Plot of BRT predictions"))+\n+    theme(plot.title = element_text(size = 10))+\n+    theme(axis.title.y = element_text(size = 10))+\n+    theme(axis.title.x = element_text(size = 10))+\n+    theme(axis.text.y = element_text(size = 10))+\n+    theme(axis.text.x = element_text(size = 10))+\n+    theme(legend.text = element_text(size = 10))+\n+    theme(legend.title = element_text(size = 10))+ \n+    coord_quickmap()\n+  output_directory <- ggsave(paste("BRT-",spe,"_pred_plot.png"))\n+  \n+  #Write prediction in a file\n+  preds <- cbind(preds,spe)\n+  write.table(preds, paste(nb_file,"_brts_pred_ceamarc.tsv",sep=""), quote=FALSE, dec=".", row.names=F, col.names=T,append = T,sep="\\t")\n+}\n+\n+#### RUN BRT ####\n+nb_file = 0\n+\n+for (file in data_files[[1]]) {\n+  species_data <- read.table(file, dec = dec_species, sep = "\\t", header = TRUE, na.strings = "NA", colClasses = "numeric")\n+  nb_file = nb_file + 1\n+  `%!in%` <- Negate(`%in%`)\n+  sp = list()\n+  for (n in names(species_data)) {\n+    if (n %!in% names(env) && n != \'station\'){\n+       sp = cbind(sp,n)\n+    }\n+  }     \n+  for (spe in sp){\n+   try(make.prediction.brt(make.brt(spe,species_data,pred.vars,env,nb_file)))\n+   }\n+}\n+\n+cat("Here is the list of your abiotic parameters:\\n")\n+cat(paste(pred.vars, collapse = ", "), "\\n")\n+\n+\n'
b
diff -r f0d6938d0451 -r fc621f3f8226 cluster_ceamarc.R
--- a/cluster_ceamarc.R Wed Oct 18 09:58:51 2023 +0000
+++ b/cluster_ceamarc.R Wed Jan 24 15:52:56 2024 +0000
[
@@ -22,7 +22,7 @@
 }
 
 #load data 
-env.data <- read.table(enviro, header=TRUE, sep=" ",dec = ".", na.strings = "-9999.00")
+env.data <- read.table(enviro, header=TRUE, sep="\t",dec = ".", na.strings = "-9999")
 data.bio <- read.table(data.bio, header=TRUE, sep="\t")
 test3 <- read.table(data, header = TRUE, sep="\t") 
 
@@ -43,8 +43,8 @@
 names(clus) <- c("lat", "long", "cluster")
 clus <- cbind(clus,test3,env.data[,3:19])
 
-write.table(clus[1:3], file = "points_clus.txt",quote = FALSE, row.names = FALSE)
-write.table(clus, file = "clus.txt",quote = FALSE, row.names = FALSE)
+write.table(clus[1:3], file = "points_clus.tsv", quote = FALSE, sep="\t", row.names = FALSE)
+write.table(clus, file = "clus.tsv", quote = FALSE, sep="\t", row.names = FALSE)
 
 
 
b
diff -r f0d6938d0451 -r fc621f3f8226 crea_carte_G.R
--- a/crea_carte_G.R Wed Oct 18 09:58:51 2023 +0000
+++ b/crea_carte_G.R Wed Jan 24 15:52:56 2024 +0000
[
@@ -15,7 +15,7 @@
     data <- args[1]
 }
 
-clus <- read.table(data, header=TRUE, na.strings = "na")
+clus <- read.table(data, sep="\t" ,header=TRUE, na.strings = "na")
 
 #tmap method
 
@@ -26,7 +26,7 @@
   summarize()
 
 map <- tm_shape(grouped_data) + 
-  tm_dots(col = "cluster", palette = "Accent", size = 0.1, title = "écorégions")+
+  tm_dots(col = "cluster", palette = "Accent", n=256, size = 0.1, title = "ecoregions")+
   tm_scale_bar(position = c("right","top"))+
   tm_compass(position = c("right","top"))+
   tm_layout(frame = FALSE,legend.position = c("left","bottom"))+
b
diff -r f0d6938d0451 -r fc621f3f8226 nb_clust_G.R
--- a/nb_clust_G.R Wed Oct 18 09:58:51 2023 +0000
+++ b/nb_clust_G.R Wed Jan 24 15:52:56 2024 +0000
[
@@ -21,7 +21,7 @@
 
 #load data 
 
-env.data <- read.table(enviro, header = TRUE, dec = ".", na.strings = "-9999.00") 
+env.data <- read.table(enviro, sep="\t", header = TRUE, dec = ".", na.strings = "-9999") 
 
 ##List of modelled taxa used for clustering
 tv <- read.table(taxa_list, dec=".", sep=" ", header=F, na.strings = "NA") 
@@ -33,7 +33,7 @@
 data.bio = NULL
 
 for (i in 1:length(data_split[[1]])) {
-data.bio1 <- read.table(data_split[[1]][i], dec=".", sep=" ", header=T, na.strings = "NA")
+data.bio1 <- read.table(data_split[[1]][i], dec=".", sep="\t", header=T, na.strings = "NA")
 data.bio <- rbind(data.bio,data.bio1)
 remove(data.bio1)
 }
@@ -69,5 +69,5 @@
 
 # Plot SIH Index Chart by Number of Clusters
 png("Indices_SIH.png")
-plot(2:max_k, sih_values[2:max_k], type = "b", xlab = "Nombre de clusters", ylab = "Indice SIH")
+plot(2:max_k, sih_values[2:max_k], type = "b", xlab = "Number of clusters", ylab = "SIH index")
 dev.off()
b
diff -r f0d6938d0451 -r fc621f3f8226 recup_liste_taxon.R
--- a/recup_liste_taxon.R Wed Oct 18 09:58:51 2023 +0000
+++ b/recup_liste_taxon.R Wed Jan 24 15:52:56 2024 +0000
[
@@ -16,7 +16,7 @@
     enviro <- args[3]
 }
 
-env = read.table(enviro, header=T, na.strings = "na")
+env = read.table(enviro, sep="\t", dec=".", header=T, na.strings = "-9999")
 occurrence_files = strsplit(data,",")
 preds_files = strsplit(preds,",")
 
@@ -45,7 +45,7 @@
 ##########Execution########
 brt = NULL
 for (j in 1:length(preds_files[[1]])){
-    brt <- rbind(brt,read.table(preds_files[[1]][j], header = TRUE, na.strings = "na"))
+    brt <- rbind(brt,read.table(preds_files[[1]][j], sep="\t", header = TRUE, na.strings = "na"))
 }
 
 for (i in 1:length(occurrence_files[[1]])) {
@@ -53,7 +53,7 @@
   cmpt <- NULL
   taxon <- list()
   
-  occurrence <- read.table(occurrence_files[[1]][i], dec = ",", sep = ";", header = TRUE, na.strings = "na")
+  occurrence <- read.table(occurrence_files[[1]][i], sep = "\t", header = TRUE, na.strings = "na")
   
   taxon_names <- names(occurrence)
   new_taxon <- taxon_names[!(taxon_names %in% names(env)) & taxon_names != "station"]
@@ -66,8 +66,8 @@
 }
 
 #Taxa for which a model was obtained
-have_model2 = subset(have_model, have_model$`Model` != "N")
-have_model3 = subset(have_model, have_model$`Model` != "N")
+have_model2 = subset(have_model, have_model$`Model` != "No")
+have_model3 = subset(have_model, have_model$`Model` != "No")
 
 #Obtain a list of taxa (cleaned) that have obtained a BRT model (file that can be submitted to the match taxa tool of the WoRMS database to obtain their classification and be able to sort duplicates between taxonomic ranks)
 
@@ -80,7 +80,7 @@
 have_model <- have_model %>% filter(!str_ends(Taxa, "sp.1|sp[0-9]"))
 
 #extraction of the have_model object
-write.csv(have_model,file = "have_model.csv", quote = F, row.names = F)
+write.table(have_model,file = "have_model.tsv", sep="\t", quote = F, row.names = F)
 
 #getting list of taxa for next if not using worms
 list_taxon = have_model3$Taxa
b
diff -r f0d6938d0451 -r fc621f3f8226 test-data/1_brts_pred_ceamarc.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/1_brts_pred_ceamarc.tsv Wed Jan 24 15:52:56 2024 +0000
b
@@ -0,0 +1,32 @@
+lat long Prediction.index spe
+-65.57 139.22 0.841140843659849 Actiniaria
+-65.57 139.22 0.84803516905332 Actiniaria
+-65.57 139.23 0.845987230372577 Actiniaria
+-65.57 139.24 0.845807234659773 Actiniaria
+-65.57 139.24 0.845815355113451 Actiniaria
+-65.57 139.25 0.838300654503413 Actiniaria
+-65.57 139.26 0.836294936412005 Actiniaria
+-65.57 139.26 0.836091676730536 Actiniaria
+-65.57 139.27 0.835788235641246 Actiniaria
+-65.57 139.28 0.83554848351174 Actiniaria
+-65.57 139.28 0.842919257873871 Actiniaria
+-65.57 139.29 0.843113627396164 Actiniaria
+-65.57 139.3 0.837674310999705 Actiniaria
+-65.57 139.3 0.78950055854148 Actiniaria
+-65.57 139.31 0.789217507689643 Actiniaria
+lat long Prediction.index spe
+-65.57 139.22 0.247351772498557 Thouarella_vulpicauda
+-65.57 139.22 0.247098939858693 Thouarella_vulpicauda
+-65.57 139.23 0.246144373571671 Thouarella_vulpicauda
+-65.57 139.24 0.245908115738853 Thouarella_vulpicauda
+-65.57 139.24 0.245908115738853 Thouarella_vulpicauda
+-65.57 139.25 0.245908115738853 Thouarella_vulpicauda
+-65.57 139.26 0.292387985632338 Thouarella_vulpicauda
+-65.57 139.26 0.24323878088903 Thouarella_vulpicauda
+-65.57 139.27 0.233523508895553 Thouarella_vulpicauda
+-65.57 139.28 0.222381660561301 Thouarella_vulpicauda
+-65.57 139.28 0.22225741167332 Thouarella_vulpicauda
+-65.57 139.29 0.215965799041526 Thouarella_vulpicauda
+-65.57 139.3 0.224167139202414 Thouarella_vulpicauda
+-65.57 139.3 0.251901045968841 Thouarella_vulpicauda
+-65.57 139.31 0.251653126333346 Thouarella_vulpicauda
b
diff -r f0d6938d0451 -r fc621f3f8226 test-data/1_brts_pred_ceamarc.txt
--- a/test-data/1_brts_pred_ceamarc.txt Wed Oct 18 09:58:51 2023 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,16 +0,0 @@
-lat long Prediction.index spe
--65.57 139.22 0.841029593071458 Actiniaria
--65.57 139.22 0.84809523959125 Actiniaria
--65.57 139.23 0.84593837029871 Actiniaria
--65.57 139.24 0.845795319302531 Actiniaria
--65.57 139.24 0.845803531789338 Actiniaria
--65.57 139.25 0.838195173926856 Actiniaria
--65.57 139.26 0.836419710602451 Actiniaria
--65.57 139.26 0.836029330691246 Actiniaria
--65.57 139.27 0.835738500636347 Actiniaria
--65.57 139.28 0.835442888556642 Actiniaria
--65.57 139.28 0.84289272242705 Actiniaria
--65.57 139.29 0.843110664350552 Actiniaria
--65.57 139.3 0.837595245997102 Actiniaria
--65.57 139.3 0.791165108348526 Actiniaria
--65.57 139.31 0.790943656953059 Actiniaria
b
diff -r f0d6938d0451 -r fc621f3f8226 test-data/Data.bio_table.tsv
--- a/test-data/Data.bio_table.tsv Wed Oct 18 09:58:51 2023 +0000
+++ b/test-data/Data.bio_table.tsv Wed Jan 24 15:52:56 2024 +0000
b
@@ -1,16 +1,31 @@
 lat long pred taxon
--65.57 139.22 0.841029593071458 Actiniaria
--65.57 139.22 0.84809523959125 Actiniaria
--65.57 139.23 0.84593837029871 Actiniaria
--65.57 139.24 0.845795319302531 Actiniaria
--65.57 139.24 0.845803531789338 Actiniaria
--65.57 139.25 0.838195173926856 Actiniaria
--65.57 139.26 0.836419710602451 Actiniaria
--65.57 139.26 0.836029330691246 Actiniaria
--65.57 139.27 0.835738500636347 Actiniaria
--65.57 139.28 0.835442888556642 Actiniaria
--65.57 139.28 0.84289272242705 Actiniaria
--65.57 139.29 0.843110664350552 Actiniaria
--65.57 139.3 0.837595245997102 Actiniaria
--65.57 139.3 0.791165108348526 Actiniaria
--65.57 139.31 0.790943656953059 Actiniaria
+-65.57 139.22 0.841140843659849 Actiniaria
+-65.57 139.22 0.84803516905332 Actiniaria
+-65.57 139.23 0.845987230372577 Actiniaria
+-65.57 139.24 0.845807234659773 Actiniaria
+-65.57 139.24 0.845815355113451 Actiniaria
+-65.57 139.25 0.838300654503413 Actiniaria
+-65.57 139.26 0.836294936412005 Actiniaria
+-65.57 139.26 0.836091676730536 Actiniaria
+-65.57 139.27 0.835788235641246 Actiniaria
+-65.57 139.28 0.83554848351174 Actiniaria
+-65.57 139.28 0.842919257873871 Actiniaria
+-65.57 139.29 0.843113627396164 Actiniaria
+-65.57 139.3 0.837674310999705 Actiniaria
+-65.57 139.3 0.78950055854148 Actiniaria
+-65.57 139.31 0.789217507689643 Actiniaria
+-65.57 139.22 0.247351772498557 Thouarella_vulpicauda
+-65.57 139.22 0.247098939858693 Thouarella_vulpicauda
+-65.57 139.23 0.246144373571671 Thouarella_vulpicauda
+-65.57 139.24 0.245908115738853 Thouarella_vulpicauda
+-65.57 139.24 0.245908115738853 Thouarella_vulpicauda
+-65.57 139.25 0.245908115738853 Thouarella_vulpicauda
+-65.57 139.26 0.292387985632338 Thouarella_vulpicauda
+-65.57 139.26 0.24323878088903 Thouarella_vulpicauda
+-65.57 139.27 0.233523508895553 Thouarella_vulpicauda
+-65.57 139.28 0.222381660561301 Thouarella_vulpicauda
+-65.57 139.28 0.22225741167332 Thouarella_vulpicauda
+-65.57 139.29 0.215965799041526 Thouarella_vulpicauda
+-65.57 139.3 0.224167139202414 Thouarella_vulpicauda
+-65.57 139.3 0.251901045968841 Thouarella_vulpicauda
+-65.57 139.31 0.251653126333346 Thouarella_vulpicauda
b
diff -r f0d6938d0451 -r fc621f3f8226 test-data/Data_to_cluster.tsv
--- a/test-data/Data_to_cluster.tsv Wed Oct 18 09:58:51 2023 +0000
+++ b/test-data/Data_to_cluster.tsv Wed Jan 24 15:52:56 2024 +0000
b
@@ -1,16 +1,16 @@
-Actiniaria
-0.841029593071458
-0.84809523959125
-0.84593837029871
-0.845795319302531
-0.845803531789338
-0.838195173926856
-0.836419710602451
-0.836029330691246
-0.835738500636347
-0.835442888556642
-0.84289272242705
-0.843110664350552
-0.837595245997102
-0.791165108348526
-0.790943656953059
+Actiniaria Thouarella_vulpicauda
+0.841140843659849 0.247351772498557
+0.84803516905332 0.247098939858693
+0.845987230372577 0.246144373571671
+0.845807234659773 0.245908115738853
+0.845815355113451 0.245908115738853
+0.838300654503413 0.245908115738853
+0.836294936412005 0.292387985632338
+0.836091676730536 0.24323878088903
+0.835788235641246 0.233523508895553
+0.83554848351174 0.222381660561301
+0.842919257873871 0.22225741167332
+0.843113627396164 0.215965799041526
+0.837674310999705 0.224167139202414
+0.78950055854148 0.251901045968841
+0.789217507689643 0.251653126333346
b
diff -r f0d6938d0451 -r fc621f3f8226 test-data/List_of_taxa.txt
--- a/test-data/List_of_taxa.txt Wed Oct 18 09:58:51 2023 +0000
+++ b/test-data/List_of_taxa.txt Wed Jan 24 15:52:56 2024 +0000
b
@@ -1,7 +1,2 @@
-Acanthogorgiidae
 Actiniaria
-Ainigmaptilon_edisto
-Alcyonacea
-Anthozoa
-Thouarella_variabilis
 Thouarella_vulpicauda
b
diff -r f0d6938d0451 -r fc621f3f8226 test-data/List_of_taxa_clean.txt
--- a/test-data/List_of_taxa_clean.txt Wed Oct 18 09:58:51 2023 +0000
+++ b/test-data/List_of_taxa_clean.txt Wed Jan 24 15:52:56 2024 +0000
b
@@ -1,7 +1,2 @@
-Acanthogorgiidae
 Actiniaria
-Ainigmaptilon edisto
-Alcyonacea
-Anthozoa
-Thouarella variabilis
 Thouarella vulpicauda
b
diff -r f0d6938d0451 -r fc621f3f8226 test-data/SIH_index_plot.png
b
Binary file test-data/SIH_index_plot.png has changed
b
diff -r f0d6938d0451 -r fc621f3f8226 test-data/Summary_of_taxa_model.csv
--- a/test-data/Summary_of_taxa_model.csv Wed Oct 18 09:58:51 2023 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,8 +0,0 @@
-Taxa,Model,Occurences
-Acanthogorgiidae,No,0
-Actiniaria,Yes,50
-Ainigmaptilon_edisto,No,2
-Alcyonacea,No,43
-Anthozoa,No,62
-Thouarella_variabilis,No,3
-Thouarella_vulpicauda,No,24
b
diff -r f0d6938d0451 -r fc621f3f8226 test-data/Summary_of_taxa_model.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/Summary_of_taxa_model.tsv Wed Jan 24 15:52:56 2024 +0000
b
@@ -0,0 +1,8 @@
+Taxa Model Occurences
+Acanthogorgiidae No 0
+Actiniaria Yes 50
+Ainigmaptilon_edisto No 2
+Alcyonacea No 43
+Anthozoa No 62
+Thouarella_variabilis No 3
+Thouarella_vulpicauda Yes 24
b
diff -r f0d6938d0451 -r fc621f3f8226 test-data/ceamarc_env.csv
--- a/test-data/ceamarc_env.csv Wed Oct 18 09:58:51 2023 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,16 +0,0 @@
-long lat Carbo Grav Maxbearing Maxmagnit Meancurmag Meansal Meantheta Mud Prof Rugosity Sand Seaice_prod Sili Slope Standcurmag Standsal Standtheta long_round lat_round
-139.22 -65.57 0.88 28.59 3.67 0.03 0.03 34.62 -0.13 22.72 -441.00 -9999.00 55.76 0.24 3.27 0.28 0.01 0.01 0.18 139,22 -65,57
-139.22 -65.57 0.88 28.61 3.64 0.02 0.03 34.62 -0.13 22.48 -439.00 -9999.00 55.74 0.24 3.29 0.27 0.01 0.01 0.18 139,22 -65,57
-139.23 -65.57 0.92 28.62 3.59 0.02 0.03 34.62 -0.14 22.25 -438.00 -9999.00 56.28 0.25 3.32 0.22 0.01 0.01 0.19 139,23 -65,57
-139.24 -65.57 0.92 28.63 3.51 0.01 0.03 34.62 -0.14 21.95 -436.00 -9999.00 56.57 0.26 3.30 0.08 0.01 0.01 0.19 139,24 -65,57
-139.24 -65.57 0.92 28.64 3.35 0.01 0.03 34.62 -0.14 21.70 -437.00 -9999.00 56.58 0.26 3.28 0.05 0.01 0.01 0.19 139,24 -65,57
-139.25 -65.57 0.93 28.65 3.00 9.6293305978179e-03 0.03 34.62 -0.15 21.44 -436.00 -9999.00 56.63 0.26 3.26 0.29 0.01 0.01 0.19 139,25 -65,57
-139.26 -65.57 0.93 28.63 2.49 8.71255807578564e-03 0.03 34.62 -0.15 21.11 -432.00 -9999.00 56.67 0.26 3.23 0.43 0.01 0.01 0.19 139,26 -65,57
-139.26 -65.57 0.93 28.64 2.01 0.01 0.03 34.62 -0.16 20.83 -429.00 -9999.00 56.71 0.26 3.21 0.37 0.01 0.01 0.19 139,26 -65,57
-139.27 -65.57 0.94 28.65 1.71 0.01 0.03 34.62 -0.16 20.55 -427.00 -9999.00 56.75 0.26 3.19 0.32 0.01 0.01 0.20 139,27 -65,57
-139.28 -65.57 0.94 28.66 1.54 0.01 0.03 34.62 -0.16 20.21 -424.00 -9999.00 56.80 0.26 3.17 0.28 0.01 0.01 0.20 139,28 -65,57
-139.28 -65.57 0.94 28.67 1.44 0.02 0.03 34.62 -0.17 19.74 -422.00 -9999.00 56.84 0.26 3.14 0.26 0.01 0.01 0.20 139,28 -65,57
-139.29 -65.57 0.94 28.68 1.74 0.01 0.03 34.62 -0.17 20.86 -421.00 -9999.00 56.87 0.26 3.13 0.22 0.01 0.01 0.20 139,29 -65,57
-139.30 -65.57 0.95 28.70 3.46 0.01 0.03 34.62 -0.17 21.30 -420.00 -9999.00 56.91 0.26 3.11 0.32 0.01 0.01 0.20 139,30 -65,57
-139.30 -65.57 0.95 28.71 3.91 0.03 0.03 34.62 -0.18 21.01 -414.00 -9999.00 57.18 0.26 3.09 0.59 0.01 0.01 0.21 139,30 -65,57
-139.31 -65.57 0.96 28.72 4.03 0.05 0.03 34.62 -0.18 20.76 -406.00 -9999.00 57.54 0.26 3.07 0.53 0.01 0.01 0.21 139,31 -65,57
b
diff -r f0d6938d0451 -r fc621f3f8226 test-data/ceamarc_env.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/ceamarc_env.tsv Wed Jan 24 15:52:56 2024 +0000
b
@@ -0,0 +1,16 @@
+long lat Carbo Grav Maxbearing Maxmagnit Meancurmag Meansal Meantheta Mud Prof Rugosity Sand Seaice_prod Sili Slope Standcurmag Standsal Standtheta long_round lat_round
+1 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
+2 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,22 -65,57
+3 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,23 -65,57
+4 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
+5 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,24 -65,57
+6 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,25 -65,57
+7 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
+8 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,26 -65,57
+9 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 139,27 -65,57
+10 139.28 -65.57 0.94 28.66 1.54 0.01 0.03 34.62 -0.16 20.21 -424 -9999 56.8 0.26 3.17 0.28 0.01 0.01 0.2 139,28 -65,57
+11 139.28 -65.57 0.94 28.67 1.44 0.02 0.03 34.62 -0.17 19.74 -422 -9999 56.84 0.26 3.14 0.26 0.01 0.01 0.2 139,28 -65,57
+12 139.29 -65.57 0.94 28.68 1.74 0.01 0.03 34.62 -0.17 20.86 -421 -9999 56.87 0.26 3.13 0.22 0.01 0.01 0.2 139,29 -65,57
+13 139.3 -65.57 0.95 28.7 3.46 0.01 0.03 34.62 -0.17 21.3 -420 -9999 56.91 0.26 3.11 0.32 0.01 0.01 0.2 139,30 -65,57
+14 139.3 -65.57 0.95 28.71 3.91 0.03 0.03 34.62 -0.18 21.01 -414 -9999 57.18 0.26 3.09 0.59 0.01 0.01 0.21 139,30 -65,57
+15 139.31 -65.57 0.96 28.72 4.03 0.05 0.03 34.62 -0.18 20.76 -406 -9999 57.54 0.26 3.07 0.53 0.01 0.01 0.21 139,31 -65,57
b
diff -r f0d6938d0451 -r fc621f3f8226 test-data/cnidaria_filtered.csv
--- a/test-data/cnidaria_filtered.csv Wed Oct 18 09:58:51 2023 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,64 +0,0 @@
-station;lat;long;Carbo;Grav;Maxbearing;Maxmagnit;Meancurmag;Meansal;Meantheta;Mud;Prof;Rugosity;Sand;Seaice_prod;Sili;Slope;Standcurmag;Standsal;Standtheta;Acanthogorgiidae;Actiniaria;Ainigmaptilon_edisto;Alcyonacea;Anthozoa;Thouarella_variabilis;Thouarella_vulpicauda
-1;-65,99;142,33;5,51;12,59;2,03;0,16;0,07;34,6;-1,47;29,8;-233;1;56,16;0,11;3,94;0,05;0,03;0,03;0,24;0;1;0;0;1;0;0
-10;-66,33;141,3;3,17;5,31;5,2;0,18;0,08;34,61;-1,35;21,5;-215;1;67,39;0,17;5,8;0,24;0,03;0,02;0,28;0;1;0;1;1;0;0
-11;-66,56;141,29;3,1;3,28;4,93;0,2;0,08;34,65;-1,73;34,89;-192;1;73,13;0,87;4,48;0,71;0,03;0,04;0,24;0;0;0;1;1;0;0
-12;-66,55;140,82;2,78;3,08;3,74;0,34;0,1;34,59;-1,19;25,83;-217;1;68,37;2,62;4,05;2,57;0,06;0,02;0,24;0;1;0;1;1;1;0
-13;-66,15;140,65;2,06;7,62;5,36;0,21;0,09;34,56;-1,04;13,18;-217;1;71,68;0,07;2,89;0,37;0,04;0,02;0,26;0;1;0;0;1;0;0
-14;-66,33;140,67;2,96;3,12;2,42;0,16;0,08;34,54;-1,02;12,15;-171;1;73,16;0,78;1,17;0,08;0,03;0,01;0,22;0;1;0;0;1;0;0
-15;-66,38;139,8;1,06;1,65;1,87;0,14;0,05;34,64;-1,53;69,08;-855;1;48,44;1,43;13,55;2,94;0,03;0,01;0,06;0;1;0;1;1;0;0
-16;-66,34;139,99;1,34;2,78;1,61;0,15;0,05;34,6;-1,12;41,06;-538;1;54,72;1,23;5,97;3,7;0,03;0,00839;0,08;0;1;0;0;1;0;0
-17;-66,17;139,96;1,71;8,13;4,39;0,31;0,12;34,54;-0,96;17,16;-151;1;61,42;0,54;1,99;0,25;0,05;0,02;0,3;0;1;0;1;1;1;0
-18;-66,16;139,65;1,49;7,75;2,24;0,15;0,06;34,59;-1,01;32,71;-432;1;51,4;0,56;3,35;0,42;0,03;0,01;0,26;0;1;0;1;1;0;1
-19;-66,15;139,31;1,18;8,58;5,7;0,12;0,04;34,61;-1,36;47,4;-674;1;46,41;0,34;9,92;0,31;0,02;0,00722;0,09;0;1;0;0;1;0;0
-2;-65,99;141,32;3,3;14,21;5,01;0,16;0,07;34,6;-1,26;14,05;-235;1;67,07;-0,01;2,09;0,13;0,03;0,03;0,32;0;1;1;1;1;0;1
-20;-66;139,99;1,95;20,59;4,98;0,19;0,09;34,56;-1,05;13,25;-192;1;63,46;0,27;1,92;0,21;0,03;0,03;0,26;0;1;0;0;1;0;0
-21;-66;139,64;2,26;18,21;2,85;0,16;0,07;34,58;-1,04;44,81;-277;1;57,14;0,76;5,88;1,66;0,03;0,01;0,26;0;1;0;0;1;0;0
-22;-66;139,31;1,39;19,2;4,87;0,1;0,04;34,6;-1,05;37,84;-476;1;49,4;0,65;7,09;0,25;0,02;0,00884;0,15;0;1;0;1;1;0;0
-26;-66,52;140,02;1,51;1,47;4,4;0,12;0,05;34,6;-1,11;49,11;-247;1;49,52;2,38;10,29;3,16;0,02;0,00984;0,16;0;1;0;0;1;0;0
-27;-66,02;142,74;2,61;11,58;5,42;0,13;0,05;34,64;-1,73;25,07;-440;1;46,97;0,24;2,19;0,23;0,02;0,03;0,17;0;1;0;1;1;0;1
-28;-65,99;143,02;2,15;11,5;5,37;0,14;0,05;34,64;-1,77;39,29;-467;1;38,66;0,24;2,07;0,32;0,02;0,03;0,12;0;1;0;1;1;0;1
-29;-66,02;143,29;1,77;9,98;5,41;0,14;0,05;34,64;-1,78;62,2;-470;1;38,73;0,33;4,81;0,19;0,02;0,03;0,1;0;1;0;1;1;0;1
-3;-65,99;141,98;5,27;14,32;5,31;0,01;0,06;34,6;-1,4;22,84;-245;1;61,04;-0,00886;3,93;0,15;0,03;0,03;0,25;0;1;0;0;1;0;0
-30;-66;143,68;2,06;9,47;5,42;0,15;0,06;34,61;-1,71;54,73;-429;1;41,27;0,39;1,03;0,22;0,03;0,03;0,19;0;1;0;0;1;0;0
-31;-66,55;144,99;1,05;19,55;5,28;0,12;0,03;34,62;-1,73;35,57;-437;1;39,47;5,14;1,77;0,45;0,02;0,03;0,16;0;0;0;1;1;0;1
-34;-66,33;144,34;1,26;6,31;4,92;0,13;0,04;34,63;-1,77;44,96;-455;1;40,49;1,87;2,96;0,39;0,02;0,03;0,12;0;1;0;1;1;0;1
-35;-66,33;144,01;1,2;4,9;2,11;0,12;0,04;34,64;-1,78;49,09;-511;1;39,41;1,54;4,15;0,32;0,02;0,02;0,1;0;1;0;1;1;0;0
-36;-66,32;143,65;1,12;4,29;2,16;0,12;0,04;34,64;-1,79;53,85;-565;1;38,83;1,26;8,68;0,38;0,02;0,02;0,13;0;1;0;1;1;0;1
-37;-66,55;143,31;1,34;4,32;2,02;0,12;0,04;34,66;-1,82;78,15;-820;1;47,92;2,76;13,57;0,26;0,02;0,03;0,11;0;1;0;0;1;0;0
-38;-66,33;143,31;0,82;3,84;2,2;0,1;0,04;34,65;-1,8;84,13;-703;1;41,01;0,98;16,47;0,25;0,02;0,03;0,12;0;1;0;1;1;1;0
-39;-66,56;143,02;1,67;4,11;1,5;0,13;0,05;34,65;-1,8;47,63;-862;1;56,71;2,22;7,3;0,18;0,02;0,02;0,1;0;1;0;0;1;0;0
-40;-66,65;142,98;1,94;3,93;5,42;0,13;0,04;34,63;-1,75;41,4;-598;1;58,72;3,57;5,71;1,57;0,02;0,03;0,12;0;0;0;1;1;0;1
-41;-66,76;142,65;2,67;2,67;0,14;0,15;0,04;34,65;-1,76;38,32;-598;1;62,33;4,43;6,01;4,29;0,02;0,04;0,16;0;0;0;1;1;0;1
-42;-66,87;142,66;2,92;1,71;5,49;0,13;0,04;34,63;-1,72;47,93;-391;1;62,77;8,27;6,89;1,19;0,02;0,05;0,2;0;0;0;1;1;0;1
-43;-66,74;143,33;2;3,28;4,67;0,19;0,06;34,61;-1,74;62,82;-332;1;54,92;7,42;9,35;3,78;0,03;0,05;0,16;0;1;0;1;1;0;0
-45;-66,75;144;2,19;3,12;5,5;0,16;0,04;34,61;-1,8;42,36;-661;1;43,64;7,49;5,95;4,51;0,03;0,02;0,07;0;1;0;1;1;0;1
-46;-66,87;144,1;2,59;1,31;5,89;0,17;0,05;34,59;-1,78;38,87;-561;1;43,42;10,54;4,09;1,16;0,03;0,04;0,14;0;0;0;1;1;0;1
-48;-66,93;144,65;1,59;0,58;5,75;0,21;0,06;34,6;-1,83;73,19;-407;1;40,23;11,89;10,52;5,23;0,03;0,03;0,09;0;1;0;1;1;0;0
-5;-66,32;142,29;3,03;4,93;5,05;0,2;0,1;34,63;-1,61;39,53;-216;1;61,67;0,27;2,63;0,11;0,04;0,02;0,17;0;0;0;1;1;0;1
-50;-66,75;145,27;1,02;5,5;5,49;0,13;0,04;34,64;-1,77;52,4;-596;1;39,8;9,53;4,66;0,23;0,02;0,03;0,1;0;1;0;1;1;0;1
-51;-66,74;145,48;0,95;6,47;5,5;0,2;0,05;34,62;-1,78;49,32;-535;1;40,91;10,66;3,37;0,55;0,03;0,04;0,11;0;1;0;0;1;0;0
-52;-66,55;145,31;1,04;19,26;5,26;0,09;0,03;34,59;-1,67;36,48;-409;1;42,62;6,4;1,12;0,09;0,01;0,03;0,22;0;1;0;0;1;0;0
-53;-66,33;144,66;1,24;6,73;5,36;0,13;0,04;34,61;-1,71;62,77;-420;1;42,45;2,27;3,99;0,17;0,02;0,04;0,18;0;1;0;0;1;0;0
-54;-65,91;144,02;3,17;12,05;5,16;0,15;0,06;34,57;-0,92;31,38;-375;1;46,27;0,41;2,1;2,62;0,02;0,02;0,4;0;1;1;1;1;0;1
-55;-66,33;145,01;1,12;8,85;5,25;0,12;0,04;34,56;-1,68;40,75;-387;1;44,3;3,06;2,2;0,58;0,02;0,03;0,26;0;1;0;1;1;0;1
-56;-66,56;144,67;1,3;16,82;2,34;0,13;0,04;34,65;-1,79;45,94;-582;1;39,22;4,26;3,93;0,38;0,02;0,03;0,1;0;1;0;0;1;0;0
-57;-66,74;145;1,18;5,21;2,42;0,16;0,05;34,65;-1,8;53,42;-646;1;38,62;7,59;7,28;0,68;0,03;0,03;0,09;0;1;0;0;1;0;0
-58;-66,75;144,67;1,28;4,2;2,34;0,18;0,05;34,65;-1,81;79,28;-837;1;34,69;7,08;12,46;0,61;0,03;0,03;0,08;0;1;0;1;1;0;1
-6;-66,32;142,66;1,83;4,69;1,69;0,1;0,08;34,65;-1,74;18,2;-384;1;58,78;0,43;2,05;0,09;0,03;0,02;0,15;0;1;0;1;1;0;0
-60;-66,56;143,93;1,51;7,74;2,05;0,14;0,05;34,65;-1,82;47,04;-799;1;38,88;3,65;7,36;0,94;0,03;0,03;0,09;0;1;0;1;1;0;0
-61;-66,33;142,97;1,15;4,14;5,31;0,13;0,05;34,64;-1,74;52,04;-644;1;49,19;0,67;9,1;0,82;0,02;0,03;0,16;0;1;0;1;1;0;0
-62;-66,15;143,32;1,06;10,88;2,17;0,12;0,04;34,64;-1,76;59,46;-545;1;37,97;0,52;5,25;0,23;0,02;0,02;0,14;0;1;0;1;1;0;0
-63;-65,85;142,98;3,71;20,11;5,24;0,27;0,11;34,61;-1,22;24,73;-423;1;41,04;0,19;1,03;0,56;0,05;0,02;0,44;0;0;0;1;1;0;1
-65;-65,81;143;3,89;21,43;5,23;0,39;0,13;34,61;-0,67;25,78;-777;1;41,24;0,18;1,56;7,69;0,06;0,02;0,33;0;1;0;1;1;0;1
-66;-65,75;143,04;NA;NA;4,48;NA;NA;NA;NA;NA;NA;NA;NA;NA;NA;NA;NA;NA;NA;0;0;0;1;1;0;0
-7;-66,55;142,64;2,12;4,31;1,77;0,18;0,07;34,66;-1,75;15,34;-255;1;65,49;1,46;1,38;6,15;0,03;0,03;0,18;0;0;0;0;0;0;0
-70;-66,42;140,52;2,3;2,63;5,35;0,08;0,03;34,64;-1,49;20,33;-1109;1;67,5;1,56;3,67;5,9;0,01;0,01;0,05;0;1;0;0;1;0;0
-71;-66,39;140,48;2,22;2,24;5,27;0,06;0,02;34,62;-1,36;19,67;-768;1;67,65;1,36;3,1;7,04;0,01;0,01;0,04;0;1;0;1;1;0;1
-72;-66,34;140,48;2,18;2,6;2,34;0,09;0,04;34,58;-1,14;17,49;-407;1;67,61;1,01;2,1;2,74;0,01;0,01;0,11;0;1;0;1;1;0;0
-79;-65,7;140,56;1,83;25,43;4,77;0,34;0,16;34,6;-0,94;3,7;-506;1;66,84;0,09;1,91;5,63;0,06;0,02;0,38;0;1;0;1;1;0;1
-8;-66,56;142,33;3,36;3,2;1,96;0,16;0,06;34,68;-1,85;67,67;-374;1;60,65;1,04;11,68;1,03;0,03;0,03;0,1;0;1;0;1;1;0;1
-81;-65,65;140,44;1,42;28,49;4,93;0,3;0,15;34,62;-0,81;3,75;-1193;1;66,73;0,13;1,29;5,59;0,05;0,02;0,32;0;0;0;1;1;0;0
-84;-65,45;139,37;0,98;28,81;1,16;0,06;0,03;34,62;-0,21;17,56;-395;NA;58,04;0,28;2,92;0,29;0,01;0,01;0,22;0;0;0;1;1;0;0
-86;-65,47;139,35;0,96;28,78;2,13;0,00947;0,03;34,62;-0,2;18,67;-398;NA;57,91;0,27;2,96;0,26;0,01;0,01;0,22;0;1;0;1;1;0;0
-87;-65,49;139,33;0,95;28,75;4,01;0,05;0,03;34,62;-0,19;20,03;-400;NA;57,77;0,27;3,02;0,42;0,01;0,01;0,21;0;1;0;0;1;0;0
-9;-66,55;141,99;3,19;3,31;5,38;0,17;0,05;34,68;-1,85;40,51;-357;1;65,13;0,81;6,85;3,19;0,03;0,03;0,1;0;0;0;1;1;0;1
b
diff -r f0d6938d0451 -r fc621f3f8226 test-data/cnidaria_filtered.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cnidaria_filtered.tsv Wed Jan 24 15:52:56 2024 +0000
b
@@ -0,0 +1,64 @@
+station lat long Carbo Grav Maxbearing Maxmagnit Meancurmag Meansal Meantheta Mud Prof Rugosity Sand Seaice_prod Sili Slope Standcurmag Standsal Standtheta Acanthogorgiidae Actiniaria Ainigmaptilon_edisto Alcyonacea Anthozoa Thouarella_variabilis Thouarella_vulpicauda
+1 1 -65,99 142,33 5,51 12,59 2,03 0,16 0,07 34,6 -1,47 29,8 -233 1 56,16 0,11 3,94 0,05 0,03 0,03 0,24 0 1 0 0 1 0 0
+2 10 -66,33 141,3 3,17 5,31 5,2 0,18 0,08 34,61 -1,35 21,5 -215 1 67,39 0,17 5,8 0,24 0,03 0,02 0,28 0 1 0 1 1 0 0
+3 11 -66,56 141,29 3,1 3,28 4,93 0,2 0,08 34,65 -1,73 34,89 -192 1 73,13 0,87 4,48 0,71 0,03 0,04 0,24 0 0 0 1 1 0 0
+4 12 -66,55 140,82 2,78 3,08 3,74 0,34 0,1 34,59 -1,19 25,83 -217 1 68,37 2,62 4,05 2,57 0,06 0,02 0,24 0 1 0 1 1 1 0
+5 13 -66,15 140,65 2,06 7,62 5,36 0,21 0,09 34,56 -1,04 13,18 -217 1 71,68 0,07 2,89 0,37 0,04 0,02 0,26 0 1 0 0 1 0 0
+6 14 -66,33 140,67 2,96 3,12 2,42 0,16 0,08 34,54 -1,02 12,15 -171 1 73,16 0,78 1,17 0,08 0,03 0,01 0,22 0 1 0 0 1 0 0
+7 15 -66,38 139,8 1,06 1,65 1,87 0,14 0,05 34,64 -1,53 69,08 -855 1 48,44 1,43 13,55 2,94 0,03 0,01 0,06 0 1 0 1 1 0 0
+8 16 -66,34 139,99 1,34 2,78 1,61 0,15 0,05 34,6 -1,12 41,06 -538 1 54,72 1,23 5,97 3,7 0,03 0,00839 0,08 0 1 0 0 1 0 0
+9 17 -66,17 139,96 1,71 8,13 4,39 0,31 0,12 34,54 -0,96 17,16 -151 1 61,42 0,54 1,99 0,25 0,05 0,02 0,3 0 1 0 1 1 1 0
+10 18 -66,16 139,65 1,49 7,75 2,24 0,15 0,06 34,59 -1,01 32,71 -432 1 51,4 0,56 3,35 0,42 0,03 0,01 0,26 0 1 0 1 1 0 1
+11 19 -66,15 139,31 1,18 8,58 5,7 0,12 0,04 34,61 -1,36 47,4 -674 1 46,41 0,34 9,92 0,31 0,02 0,00722 0,09 0 1 0 0 1 0 0
+12 2 -65,99 141,32 3,3 14,21 5,01 0,16 0,07 34,6 -1,26 14,05 -235 1 67,07 -0,01 2,09 0,13 0,03 0,03 0,32 0 1 1 1 1 0 1
+13 20 -66 139,99 1,95 20,59 4,98 0,19 0,09 34,56 -1,05 13,25 -192 1 63,46 0,27 1,92 0,21 0,03 0,03 0,26 0 1 0 0 1 0 0
+14 21 -66 139,64 2,26 18,21 2,85 0,16 0,07 34,58 -1,04 44,81 -277 1 57,14 0,76 5,88 1,66 0,03 0,01 0,26 0 1 0 0 1 0 0
+15 22 -66 139,31 1,39 19,2 4,87 0,1 0,04 34,6 -1,05 37,84 -476 1 49,4 0,65 7,09 0,25 0,02 0,00884 0,15 0 1 0 1 1 0 0
+16 26 -66,52 140,02 1,51 1,47 4,4 0,12 0,05 34,6 -1,11 49,11 -247 1 49,52 2,38 10,29 3,16 0,02 0,00984 0,16 0 1 0 0 1 0 0
+17 27 -66,02 142,74 2,61 11,58 5,42 0,13 0,05 34,64 -1,73 25,07 -440 1 46,97 0,24 2,19 0,23 0,02 0,03 0,17 0 1 0 1 1 0 1
+18 28 -65,99 143,02 2,15 11,5 5,37 0,14 0,05 34,64 -1,77 39,29 -467 1 38,66 0,24 2,07 0,32 0,02 0,03 0,12 0 1 0 1 1 0 1
+19 29 -66,02 143,29 1,77 9,98 5,41 0,14 0,05 34,64 -1,78 62,2 -470 1 38,73 0,33 4,81 0,19 0,02 0,03 0,1 0 1 0 1 1 0 1
+20 3 -65,99 141,98 5,27 14,32 5,31 0,01 0,06 34,6 -1,4 22,84 -245 1 61,04 -0,00886 3,93 0,15 0,03 0,03 0,25 0 1 0 0 1 0 0
+21 30 -66 143,68 2,06 9,47 5,42 0,15 0,06 34,61 -1,71 54,73 -429 1 41,27 0,39 1,03 0,22 0,03 0,03 0,19 0 1 0 0 1 0 0
+22 31 -66,55 144,99 1,05 19,55 5,28 0,12 0,03 34,62 -1,73 35,57 -437 1 39,47 5,14 1,77 0,45 0,02 0,03 0,16 0 0 0 1 1 0 1
+23 34 -66,33 144,34 1,26 6,31 4,92 0,13 0,04 34,63 -1,77 44,96 -455 1 40,49 1,87 2,96 0,39 0,02 0,03 0,12 0 1 0 1 1 0 1
+24 35 -66,33 144,01 1,2 4,9 2,11 0,12 0,04 34,64 -1,78 49,09 -511 1 39,41 1,54 4,15 0,32 0,02 0,02 0,1 0 1 0 1 1 0 0
+25 36 -66,32 143,65 1,12 4,29 2,16 0,12 0,04 34,64 -1,79 53,85 -565 1 38,83 1,26 8,68 0,38 0,02 0,02 0,13 0 1 0 1 1 0 1
+26 37 -66,55 143,31 1,34 4,32 2,02 0,12 0,04 34,66 -1,82 78,15 -820 1 47,92 2,76 13,57 0,26 0,02 0,03 0,11 0 1 0 0 1 0 0
+27 38 -66,33 143,31 0,82 3,84 2,2 0,1 0,04 34,65 -1,8 84,13 -703 1 41,01 0,98 16,47 0,25 0,02 0,03 0,12 0 1 0 1 1 1 0
+28 39 -66,56 143,02 1,67 4,11 1,5 0,13 0,05 34,65 -1,8 47,63 -862 1 56,71 2,22 7,3 0,18 0,02 0,02 0,1 0 1 0 0 1 0 0
+29 40 -66,65 142,98 1,94 3,93 5,42 0,13 0,04 34,63 -1,75 41,4 -598 1 58,72 3,57 5,71 1,57 0,02 0,03 0,12 0 0 0 1 1 0 1
+30 41 -66,76 142,65 2,67 2,67 0,14 0,15 0,04 34,65 -1,76 38,32 -598 1 62,33 4,43 6,01 4,29 0,02 0,04 0,16 0 0 0 1 1 0 1
+31 42 -66,87 142,66 2,92 1,71 5,49 0,13 0,04 34,63 -1,72 47,93 -391 1 62,77 8,27 6,89 1,19 0,02 0,05 0,2 0 0 0 1 1 0 1
+32 43 -66,74 143,33 2 3,28 4,67 0,19 0,06 34,61 -1,74 62,82 -332 1 54,92 7,42 9,35 3,78 0,03 0,05 0,16 0 1 0 1 1 0 0
+33 45 -66,75 144 2,19 3,12 5,5 0,16 0,04 34,61 -1,8 42,36 -661 1 43,64 7,49 5,95 4,51 0,03 0,02 0,07 0 1 0 1 1 0 1
+34 46 -66,87 144,1 2,59 1,31 5,89 0,17 0,05 34,59 -1,78 38,87 -561 1 43,42 10,54 4,09 1,16 0,03 0,04 0,14 0 0 0 1 1 0 1
+35 48 -66,93 144,65 1,59 0,58 5,75 0,21 0,06 34,6 -1,83 73,19 -407 1 40,23 11,89 10,52 5,23 0,03 0,03 0,09 0 1 0 1 1 0 0
+36 5 -66,32 142,29 3,03 4,93 5,05 0,2 0,1 34,63 -1,61 39,53 -216 1 61,67 0,27 2,63 0,11 0,04 0,02 0,17 0 0 0 1 1 0 1
+37 50 -66,75 145,27 1,02 5,5 5,49 0,13 0,04 34,64 -1,77 52,4 -596 1 39,8 9,53 4,66 0,23 0,02 0,03 0,1 0 1 0 1 1 0 1
+38 51 -66,74 145,48 0,95 6,47 5,5 0,2 0,05 34,62 -1,78 49,32 -535 1 40,91 10,66 3,37 0,55 0,03 0,04 0,11 0 1 0 0 1 0 0
+39 52 -66,55 145,31 1,04 19,26 5,26 0,09 0,03 34,59 -1,67 36,48 -409 1 42,62 6,4 1,12 0,09 0,01 0,03 0,22 0 1 0 0 1 0 0
+40 53 -66,33 144,66 1,24 6,73 5,36 0,13 0,04 34,61 -1,71 62,77 -420 1 42,45 2,27 3,99 0,17 0,02 0,04 0,18 0 1 0 0 1 0 0
+41 54 -65,91 144,02 3,17 12,05 5,16 0,15 0,06 34,57 -0,92 31,38 -375 1 46,27 0,41 2,1 2,62 0,02 0,02 0,4 0 1 1 1 1 0 1
+42 55 -66,33 145,01 1,12 8,85 5,25 0,12 0,04 34,56 -1,68 40,75 -387 1 44,3 3,06 2,2 0,58 0,02 0,03 0,26 0 1 0 1 1 0 1
+43 56 -66,56 144,67 1,3 16,82 2,34 0,13 0,04 34,65 -1,79 45,94 -582 1 39,22 4,26 3,93 0,38 0,02 0,03 0,1 0 1 0 0 1 0 0
+44 57 -66,74 145 1,18 5,21 2,42 0,16 0,05 34,65 -1,8 53,42 -646 1 38,62 7,59 7,28 0,68 0,03 0,03 0,09 0 1 0 0 1 0 0
+45 58 -66,75 144,67 1,28 4,2 2,34 0,18 0,05 34,65 -1,81 79,28 -837 1 34,69 7,08 12,46 0,61 0,03 0,03 0,08 0 1 0 1 1 0 1
+46 6 -66,32 142,66 1,83 4,69 1,69 0,1 0,08 34,65 -1,74 18,2 -384 1 58,78 0,43 2,05 0,09 0,03 0,02 0,15 0 1 0 1 1 0 0
+47 60 -66,56 143,93 1,51 7,74 2,05 0,14 0,05 34,65 -1,82 47,04 -799 1 38,88 3,65 7,36 0,94 0,03 0,03 0,09 0 1 0 1 1 0 0
+48 61 -66,33 142,97 1,15 4,14 5,31 0,13 0,05 34,64 -1,74 52,04 -644 1 49,19 0,67 9,1 0,82 0,02 0,03 0,16 0 1 0 1 1 0 0
+49 62 -66,15 143,32 1,06 10,88 2,17 0,12 0,04 34,64 -1,76 59,46 -545 1 37,97 0,52 5,25 0,23 0,02 0,02 0,14 0 1 0 1 1 0 0
+50 63 -65,85 142,98 3,71 20,11 5,24 0,27 0,11 34,61 -1,22 24,73 -423 1 41,04 0,19 1,03 0,56 0,05 0,02 0,44 0 0 0 1 1 0 1
+51 65 -65,81 143 3,89 21,43 5,23 0,39 0,13 34,61 -0,67 25,78 -777 1 41,24 0,18 1,56 7,69 0,06 0,02 0,33 0 1 0 1 1 0 1
+52 66 -65,75 143,04 NA NA 4,48 NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0 0 0 1 1 0 0
+53 7 -66,55 142,64 2,12 4,31 1,77 0,18 0,07 34,66 -1,75 15,34 -255 1 65,49 1,46 1,38 6,15 0,03 0,03 0,18 0 0 0 0 0 0 0
+54 70 -66,42 140,52 2,3 2,63 5,35 0,08 0,03 34,64 -1,49 20,33 -1109 1 67,5 1,56 3,67 5,9 0,01 0,01 0,05 0 1 0 0 1 0 0
+55 71 -66,39 140,48 2,22 2,24 5,27 0,06 0,02 34,62 -1,36 19,67 -768 1 67,65 1,36 3,1 7,04 0,01 0,01 0,04 0 1 0 1 1 0 1
+56 72 -66,34 140,48 2,18 2,6 2,34 0,09 0,04 34,58 -1,14 17,49 -407 1 67,61 1,01 2,1 2,74 0,01 0,01 0,11 0 1 0 1 1 0 0
+57 79 -65,7 140,56 1,83 25,43 4,77 0,34 0,16 34,6 -0,94 3,7 -506 1 66,84 0,09 1,91 5,63 0,06 0,02 0,38 0 1 0 1 1 0 1
+58 8 -66,56 142,33 3,36 3,2 1,96 0,16 0,06 34,68 -1,85 67,67 -374 1 60,65 1,04 11,68 1,03 0,03 0,03 0,1 0 1 0 1 1 0 1
+59 81 -65,65 140,44 1,42 28,49 4,93 0,3 0,15 34,62 -0,81 3,75 -1193 1 66,73 0,13 1,29 5,59 0,05 0,02 0,32 0 0 0 1 1 0 0
+60 84 -65,45 139,37 0,98 28,81 1,16 0,06 0,03 34,62 -0,21 17,56 -395 NA 58,04 0,28 2,92 0,29 0,01 0,01 0,22 0 0 0 1 1 0 0
+61 86 -65,47 139,35 0,96 28,78 2,13 0,00947 0,03 34,62 -0,2 18,67 -398 NA 57,91 0,27 2,96 0,26 0,01 0,01 0,22 0 1 0 1 1 0 0
+62 87 -65,49 139,33 0,95 28,75 4,01 0,05 0,03 34,62 -0,19 20,03 -400 NA 57,77 0,27 3,02 0,42 0,01 0,01 0,21 0 1 0 0 1 0 0
+63 9 -66,55 141,99 3,19 3,31 5,38 0,17 0,05 34,68 -1,85 40,51 -357 1 65,13 0,81 6,85 3,19 0,03 0,03 0,1 0 0 0 1 1 0 1
b
diff -r f0d6938d0451 -r fc621f3f8226 test-data/ecoregions.png
b
Binary file test-data/ecoregions.png has changed
b
diff -r f0d6938d0451 -r fc621f3f8226 test-data/points_clus.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/points_clus.tsv Wed Jan 24 15:52:56 2024 +0000
b
b'@@ -0,0 +1,155824 @@\n+lat\tlong\tcluster\n+-65.57\t139.22\t1\n+-65.57\t139.22\t1\n+-65.57\t139.23\t1\n+-65.57\t139.24\t1\n+-65.57\t139.24\t1\n+-65.57\t139.25\t1\n+-65.57\t139.26\t1\n+-65.57\t139.26\t1\n+-65.57\t139.27\t1\n+-65.57\t139.28\t1\n+-65.57\t139.28\t1\n+-65.57\t139.29\t1\n+-65.57\t139.3\t1\n+-65.57\t139.3\t1\n+-65.57\t139.31\t1\n+-65.57\t139.32\t1\n+-65.57\t139.32\t1\n+-65.57\t139.33\t1\n+-65.57\t139.34\t1\n+-65.57\t139.34\t1\n+-65.57\t139.35\t1\n+-65.57\t139.36\t1\n+-65.57\t139.36\t1\n+-65.57\t139.37\t1\n+-65.57\t139.38\t1\n+-65.57\t139.38\t1\n+-65.57\t139.39\t1\n+-65.57\t139.4\t1\n+-65.57\t139.4\t1\n+-65.57\t139.41\t1\n+-65.57\t139.42\t1\n+-65.57\t139.42\t2\n+-65.57\t139.43\t2\n+-65.57\t139.44\t2\n+-65.57\t139.44\t1\n+-65.57\t139.45\t1\n+-65.57\t139.46\t1\n+-65.57\t139.46\t1\n+-65.57\t139.47\t1\n+-65.57\t139.48\t1\n+-65.57\t139.48\t1\n+-65.57\t139.49\t1\n+-65.57\t139.5\t1\n+-65.57\t139.5\t1\n+-65.57\t139.51\t1\n+-65.57\t139.52\t1\n+-65.57\t139.52\t1\n+-65.57\t139.53\t1\n+-65.57\t139.54\t3\n+-65.57\t139.54\t3\n+-65.57\t139.55\t3\n+-65.57\t139.56\t3\n+-65.57\t139.56\t3\n+-65.57\t139.57\t3\n+-65.57\t139.58\t3\n+-65.57\t139.58\t3\n+-65.57\t139.59\t3\n+-65.57\t139.6\t3\n+-65.57\t139.6\t3\n+-65.57\t139.61\t3\n+-65.57\t139.62\t3\n+-65.57\t139.62\t3\n+-65.57\t139.63\t3\n+-65.57\t139.64\t3\n+-65.57\t139.64\t3\n+-65.57\t139.65\t3\n+-65.57\t139.66\t3\n+-65.57\t139.66\t3\n+-65.57\t139.67\t3\n+-65.57\t139.68\t3\n+-65.57\t139.68\t3\n+-65.57\t139.69\t3\n+-65.57\t139.7\t3\n+-65.57\t139.7\t3\n+-65.57\t139.71\t3\n+-65.57\t139.72\t3\n+-65.57\t139.72\t3\n+-65.57\t139.73\t3\n+-65.57\t139.74\t3\n+-65.57\t139.74\t3\n+-65.57\t139.75\t3\n+-65.57\t139.76\t3\n+-65.57\t139.76\t3\n+-65.57\t139.77\t3\n+-65.57\t139.78\t3\n+-65.57\t139.78\t3\n+-65.57\t139.79\t3\n+-65.57\t139.8\t3\n+-65.57\t139.8\t3\n+-65.57\t139.81\t3\n+-65.57\t139.82\t3\n+-65.57\t139.82\t3\n+-65.57\t139.83\t3\n+-65.57\t139.84\t3\n+-65.57\t139.84\t3\n+-65.57\t139.85\t3\n+-65.57\t139.85\t3\n+-65.57\t139.86\t3\n+-65.57\t139.87\t3\n+-65.57\t139.87\t3\n+-65.57\t139.88\t3\n+-65.57\t139.89\t3\n+-65.57\t139.89\t3\n+-65.57\t139.9\t3\n+-65.57\t139.91\t3\n+-65.57\t139.91\t3\n+-65.57\t139.92\t3\n+-65.57\t139.93\t3\n+-65.57\t139.93\t3\n+-65.57\t139.94\t3\n+-65.57\t139.95\t3\n+-65.57\t139.95\t3\n+-65.57\t139.96\t3\n+-65.57\t139.97\t3\n+-65.57\t139.97\t3\n+-65.57\t139.98\t3\n+-65.57\t139.99\t3\n+-65.57\t139.99\t3\n+-65.57\t140\t3\n+-65.57\t140.01\t3\n+-65.57\t140.01\t3\n+-65.57\t140.02\t3\n+-65.57\t140.03\t3\n+-65.57\t140.03\t3\n+-65.57\t140.04\t3\n+-65.57\t140.05\t3\n+-65.57\t140.05\t3\n+-65.57\t140.06\t3\n+-65.57\t140.07\t3\n+-65.57\t140.07\t3\n+-65.57\t140.08\t3\n+-65.57\t140.09\t3\n+-65.57\t140.09\t3\n+-65.57\t140.1\t3\n+-65.57\t140.11\t3\n+-65.57\t140.11\t3\n+-65.57\t140.12\t3\n+-65.57\t140.13\t3\n+-65.57\t140.13\t3\n+-65.57\t140.14\t3\n+-65.57\t140.15\t3\n+-65.57\t140.15\t3\n+-65.57\t140.44\t3\n+-65.57\t140.45\t3\n+-65.57\t140.45\t3\n+-65.57\t140.46\t3\n+-65.57\t140.47\t3\n+-65.57\t140.47\t3\n+-65.57\t140.48\t3\n+-65.57\t140.49\t3\n+-65.57\t140.49\t3\n+-65.57\t140.5\t3\n+-65.57\t140.51\t3\n+-65.57\t140.51\t3\n+-65.57\t140.52\t3\n+-65.57\t140.53\t3\n+-65.57\t140.53\t3\n+-65.57\t140.54\t3\n+-65.57\t140.55\t3\n+-65.57\t140.55\t3\n+-65.57\t140.56\t3\n+-65.57\t140.57\t3\n+-65.57\t140.57\t3\n+-65.57\t140.58\t3\n+-65.57\t140.59\t3\n+-65.57\t140.59\t3\n+-65.57\t140.6\t3\n+-65.57\t140.61\t3\n+-65.57\t140.61\t3\n+-65.57\t140.62\t3\n+-65.57\t140.63\t3\n+-65.57\t140.63\t3\n+-65.57\t140.64\t3\n+-65.57\t140.65\t3\n+-65.57\t140.65\t3\n+-65.57\t140.66\t3\n+-65.57\t140.67\t3\n+-65.57\t140.67\t3\n+-65.57\t140.68\t3\n+-65.57\t140.69\t3\n+-65.57\t140.69\t3\n+-65.57\t140.7\t3\n+-65.57\t140.71\t3\n+-65.57\t140.71\t3\n+-65.57\t140.72\t3\n+-65.57\t140.73\t3\n+-65.57\t140.73\t3\n+-65.57\t140.74\t3\n+-65.57\t140.75\t3\n+-65.57\t140.75\t3\n+-65.57\t140.76\t3\n+-65.57\t140.76\t3\n+-65.57\t140.77\t3\n+-65.57\t140.78\t3\n+-65.57\t140.78\t3\n+-65.57\t140.79\t3\n+-65.57\t140.8\t3\n+-65.57\t140.8\t3\n+-65.57\t140.81\t3\n+-65.57\t140.82\t3\n+-65.57\t140.82\t3\n+-65.57\t140.83\t3\n+-65.57\t140.84\t3\n+-65.57\t140.84\t3\n+-65.57\t140.85\t3\n+-65.57\t140.86\t3\n+-65.57\t140.86\t3\n+-65.57\t140.92\t3\n+-65.57\t140.93\t3\n+-65.57\t140.94\t3\n+-65.57\t140.94\t3\n+-65.57\t140.95\t3\n+-65.57\t140.96\t3\n+-65.57\t140.96\t3\n+-65.57\t140.97\t3\n+-65.57\t140.98\t3\n+-65.57\t140.98\t3\n+-65.57\t140.99\t3\n+-65.57\t141\t3\n+-65.57\t141.4\t3\n+-65.57\t141.4\t3\n+-65.57\t141.41\t3\n+-65.57\t141.42\t3\n+-65.57\t141.42\t3\n+-65.57\t141.43\t3\n+-65.57\t141.44\t3\n+-65.57\t141.44\t3\n+-65.57\t141.45\t3\n+-65.57\t141.46\t3\n+-65.57\t141.46\t3\n+-65.57\t141.47\t3\n+-65.57\t141.48\t3\n+-65.57\t141.48\t3\n+-65.57\t141.49\t3\n+-65.57\t1'..b'\t2\n+-67.01\t144.82\t1\n+-67.01\t144.83\t1\n+-67.01\t144.84\t1\n+-67.01\t144.84\t1\n+-67.01\t144.85\t1\n+-67.01\t144.86\t1\n+-67.01\t144.86\t1\n+-67.01\t144.87\t1\n+-67.01\t144.88\t1\n+-67.01\t144.88\t1\n+-67.01\t144.89\t1\n+-67.01\t144.9\t5\n+-67.01\t144.9\t5\n+-67.01\t144.91\t5\n+-67.01\t144.92\t5\n+-67.01\t144.92\t5\n+-67.01\t144.93\t5\n+-67.01\t144.94\t5\n+-67.01\t144.94\t5\n+-67.01\t144.95\t5\n+-67.01\t144.96\t5\n+-67.01\t144.96\t5\n+-67.01\t144.97\t5\n+-67.01\t144.98\t5\n+-67.01\t144.98\t5\n+-67.01\t144.99\t5\n+-67.01\t145\t5\n+-67.01\t145\t5\n+-67.01\t145.01\t5\n+-67.01\t145.02\t5\n+-67.01\t145.02\t5\n+-67.01\t145.03\t5\n+-67.01\t145.04\t5\n+-67.01\t145.04\t5\n+-67.01\t145.05\t5\n+-67.01\t145.06\t5\n+-67.01\t145.06\t5\n+-67.01\t145.07\t5\n+-67.01\t145.08\t5\n+-67.01\t145.08\t5\n+-67.01\t145.09\t5\n+-67.01\t145.1\t5\n+-67.01\t145.1\t5\n+-67.01\t145.11\t5\n+-67.01\t145.12\t5\n+-67.01\t145.18\t5\n+-67.01\t145.18\t5\n+-67.01\t145.19\t5\n+-67.01\t145.2\t5\n+-67.01\t145.2\t5\n+-67.01\t145.21\t5\n+-67.01\t145.22\t5\n+-67.01\t145.22\t5\n+-67.01\t145.23\t5\n+-67.01\t145.24\t5\n+-67.01\t145.24\t5\n+-67.01\t145.25\t5\n+-67.01\t145.25\t5\n+-67.01\t145.26\t5\n+-67.01\t145.27\t5\n+-67.01\t145.27\t5\n+-67.01\t145.28\t5\n+-67.01\t145.29\t5\n+-67.01\t145.29\t5\n+-67.01\t145.3\t5\n+-67.01\t145.31\t5\n+-67.01\t145.31\t5\n+-67.01\t145.32\t5\n+-67.01\t145.33\t5\n+-67.01\t145.33\t5\n+-67.01\t145.34\t5\n+-67.01\t145.35\t5\n+-67.01\t145.35\t5\n+-67.01\t145.36\t5\n+-67.01\t145.37\t5\n+-67.01\t145.37\t5\n+-67.01\t145.38\t5\n+-67.01\t145.39\t5\n+-67.01\t145.39\t5\n+-67.01\t145.4\t5\n+-67.01\t145.41\t5\n+-67.01\t145.41\t5\n+-67.01\t145.42\t5\n+-67.01\t145.43\t5\n+-67.01\t145.43\t5\n+-67.01\t145.44\t5\n+-67.01\t145.45\t5\n+-67.01\t145.45\t5\n+-67.01\t145.46\t5\n+-67.01\t145.47\t5\n+-67.01\t145.47\t5\n+-67.01\t145.48\t5\n+-67.01\t145.49\t5\n+-67.01\t145.49\t5\n+-67.01\t145.5\t5\n+-67.01\t145.51\t5\n+-67.01\t145.51\t5\n+-67.01\t145.52\t5\n+-67.01\t145.53\t5\n+-67.01\t144.01\t2\n+-67.01\t144.02\t1\n+-67.01\t144.03\t1\n+-67.01\t144.03\t1\n+-67.01\t144.04\t1\n+-67.01\t144.05\t1\n+-67.01\t144.05\t1\n+-67.01\t144.06\t1\n+-67.01\t144.07\t1\n+-67.01\t144.07\t1\n+-67.01\t144.08\t1\n+-67.01\t144.09\t1\n+-67.01\t144.09\t2\n+-67.01\t144.1\t2\n+-67.01\t144.11\t2\n+-67.01\t144.11\t2\n+-67.01\t144.12\t2\n+-67.01\t144.13\t2\n+-67.01\t144.13\t2\n+-67.01\t144.14\t2\n+-67.01\t144.15\t2\n+-67.01\t144.15\t2\n+-67.01\t144.16\t2\n+-67.01\t144.64\t2\n+-67.01\t144.65\t2\n+-67.01\t144.66\t2\n+-67.01\t144.66\t2\n+-67.01\t144.68\t2\n+-67.01\t144.69\t2\n+-67.01\t144.7\t2\n+-67.01\t144.7\t2\n+-67.01\t144.71\t2\n+-67.01\t144.72\t2\n+-67.01\t144.72\t2\n+-67.01\t144.73\t2\n+-67.01\t144.74\t2\n+-67.01\t144.74\t2\n+-67.01\t144.75\t2\n+-67.01\t144.76\t2\n+-67.01\t144.76\t2\n+-67.01\t144.77\t2\n+-67.01\t144.78\t2\n+-67.01\t144.78\t2\n+-67.01\t144.79\t2\n+-67.01\t144.8\t2\n+-67.01\t144.8\t2\n+-67.01\t144.81\t2\n+-67.01\t144.82\t2\n+-67.01\t144.82\t2\n+-67.01\t144.83\t1\n+-67.01\t144.84\t1\n+-67.01\t144.84\t1\n+-67.01\t144.85\t1\n+-67.01\t144.86\t1\n+-67.01\t144.86\t1\n+-67.01\t144.87\t1\n+-67.01\t144.88\t1\n+-67.01\t144.88\t1\n+-67.01\t144.89\t1\n+-67.01\t144.9\t5\n+-67.01\t144.9\t5\n+-67.01\t144.91\t5\n+-67.01\t144.92\t5\n+-67.01\t144.92\t5\n+-67.01\t144.93\t5\n+-67.01\t144.94\t5\n+-67.01\t144.94\t5\n+-67.01\t144.95\t5\n+-67.01\t144.96\t5\n+-67.01\t144.96\t5\n+-67.01\t144.97\t5\n+-67.01\t144.98\t5\n+-67.01\t144.98\t5\n+-67.01\t144.99\t5\n+-67.01\t145\t5\n+-67.01\t145\t5\n+-67.01\t145.01\t5\n+-67.01\t145.02\t5\n+-67.01\t145.02\t5\n+-67.01\t145.03\t5\n+-67.01\t145.04\t5\n+-67.01\t145.06\t5\n+-67.01\t145.06\t5\n+-67.01\t145.07\t5\n+-67.01\t145.08\t5\n+-67.01\t145.08\t5\n+-67.01\t145.19\t5\n+-67.01\t145.2\t5\n+-67.01\t145.2\t5\n+-67.01\t145.21\t5\n+-67.01\t145.22\t5\n+-67.01\t145.22\t5\n+-67.01\t145.23\t5\n+-67.01\t145.24\t5\n+-67.01\t145.24\t5\n+-67.01\t145.25\t5\n+-67.01\t145.25\t5\n+-67.01\t145.26\t5\n+-67.01\t145.27\t5\n+-67.01\t145.27\t5\n+-67.01\t145.28\t5\n+-67.01\t145.29\t5\n+-67.01\t145.29\t5\n+-67.01\t145.3\t5\n+-67.01\t145.31\t5\n+-67.01\t145.31\t5\n+-67.01\t145.32\t5\n+-67.01\t145.33\t5\n+-67.01\t145.33\t5\n+-67.01\t145.34\t5\n+-67.01\t145.35\t5\n+-67.01\t145.35\t5\n+-67.01\t145.36\t5\n+-67.01\t145.37\t5\n+-67.01\t145.37\t5\n+-67.01\t145.38\t5\n+-67.01\t145.39\t5\n+-67.01\t145.39\t5\n+-67.01\t145.4\t5\n+-67.01\t145.41\t5\n+-67.01\t145.41\t5\n+-67.01\t145.42\t5\n+-67.01\t145.43\t5\n+-67.01\t145.43\t5\n+-67.01\t145.44\t5\n+-67.01\t145.45\t5\n+-67.01\t145.45\t5\n+-67.01\t145.46\t5\n+-67.01\t145.47\t5\n+-67.01\t145.47\t5\n+-67.01\t145.48\t5\n+-67.01\t145.49\t5\n+-67.01\t145.49\t5\n+-67.01\t145.5\t5\n+-67.01\t145.51\t5\n+-67.01\t145.51\t1\n+-67.01\t145.52\t1\n+-67.01\t145.53\t1\n'
b
diff -r f0d6938d0451 -r fc621f3f8226 test-data/points_clus.txt
--- a/test-data/points_clus.txt Wed Oct 18 09:58:51 2023 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,155824 +0,0 @@\n-lat long cluster\n--65.57 139.22 1\n--65.57 139.22 1\n--65.57 139.23 1\n--65.57 139.24 1\n--65.57 139.24 1\n--65.57 139.25 1\n--65.57 139.26 1\n--65.57 139.26 1\n--65.57 139.27 1\n--65.57 139.28 1\n--65.57 139.28 1\n--65.57 139.29 1\n--65.57 139.3 1\n--65.57 139.3 1\n--65.57 139.31 1\n--65.57 139.32 1\n--65.57 139.32 1\n--65.57 139.33 1\n--65.57 139.34 1\n--65.57 139.34 1\n--65.57 139.35 1\n--65.57 139.36 1\n--65.57 139.36 1\n--65.57 139.37 1\n--65.57 139.38 1\n--65.57 139.38 1\n--65.57 139.39 1\n--65.57 139.4 1\n--65.57 139.4 1\n--65.57 139.41 1\n--65.57 139.42 1\n--65.57 139.42 2\n--65.57 139.43 2\n--65.57 139.44 2\n--65.57 139.44 1\n--65.57 139.45 1\n--65.57 139.46 1\n--65.57 139.46 1\n--65.57 139.47 1\n--65.57 139.48 1\n--65.57 139.48 1\n--65.57 139.49 1\n--65.57 139.5 1\n--65.57 139.5 1\n--65.57 139.51 1\n--65.57 139.52 1\n--65.57 139.52 1\n--65.57 139.53 1\n--65.57 139.54 3\n--65.57 139.54 3\n--65.57 139.55 3\n--65.57 139.56 3\n--65.57 139.56 3\n--65.57 139.57 3\n--65.57 139.58 3\n--65.57 139.58 3\n--65.57 139.59 3\n--65.57 139.6 3\n--65.57 139.6 3\n--65.57 139.61 3\n--65.57 139.62 3\n--65.57 139.62 3\n--65.57 139.63 3\n--65.57 139.64 3\n--65.57 139.64 3\n--65.57 139.65 3\n--65.57 139.66 3\n--65.57 139.66 3\n--65.57 139.67 3\n--65.57 139.68 3\n--65.57 139.68 3\n--65.57 139.69 3\n--65.57 139.7 3\n--65.57 139.7 3\n--65.57 139.71 3\n--65.57 139.72 3\n--65.57 139.72 3\n--65.57 139.73 3\n--65.57 139.74 3\n--65.57 139.74 3\n--65.57 139.75 3\n--65.57 139.76 3\n--65.57 139.76 3\n--65.57 139.77 3\n--65.57 139.78 3\n--65.57 139.78 3\n--65.57 139.79 3\n--65.57 139.8 3\n--65.57 139.8 3\n--65.57 139.81 3\n--65.57 139.82 3\n--65.57 139.82 3\n--65.57 139.83 3\n--65.57 139.84 3\n--65.57 139.84 3\n--65.57 139.85 3\n--65.57 139.85 3\n--65.57 139.86 3\n--65.57 139.87 3\n--65.57 139.87 3\n--65.57 139.88 3\n--65.57 139.89 3\n--65.57 139.89 3\n--65.57 139.9 3\n--65.57 139.91 3\n--65.57 139.91 3\n--65.57 139.92 3\n--65.57 139.93 3\n--65.57 139.93 3\n--65.57 139.94 3\n--65.57 139.95 3\n--65.57 139.95 3\n--65.57 139.96 3\n--65.57 139.97 3\n--65.57 139.97 3\n--65.57 139.98 3\n--65.57 139.99 3\n--65.57 139.99 3\n--65.57 140 3\n--65.57 140.01 3\n--65.57 140.01 3\n--65.57 140.02 3\n--65.57 140.03 3\n--65.57 140.03 3\n--65.57 140.04 3\n--65.57 140.05 3\n--65.57 140.05 3\n--65.57 140.06 3\n--65.57 140.07 3\n--65.57 140.07 3\n--65.57 140.08 3\n--65.57 140.09 3\n--65.57 140.09 3\n--65.57 140.1 3\n--65.57 140.11 3\n--65.57 140.11 3\n--65.57 140.12 3\n--65.57 140.13 3\n--65.57 140.13 3\n--65.57 140.14 3\n--65.57 140.15 3\n--65.57 140.15 3\n--65.57 140.44 3\n--65.57 140.45 3\n--65.57 140.45 3\n--65.57 140.46 3\n--65.57 140.47 3\n--65.57 140.47 3\n--65.57 140.48 3\n--65.57 140.49 3\n--65.57 140.49 3\n--65.57 140.5 3\n--65.57 140.51 3\n--65.57 140.51 3\n--65.57 140.52 3\n--65.57 140.53 3\n--65.57 140.53 3\n--65.57 140.54 3\n--65.57 140.55 3\n--65.57 140.55 3\n--65.57 140.56 3\n--65.57 140.57 3\n--65.57 140.57 3\n--65.57 140.58 3\n--65.57 140.59 3\n--65.57 140.59 3\n--65.57 140.6 3\n--65.57 140.61 3\n--65.57 140.61 3\n--65.57 140.62 3\n--65.57 140.63 3\n--65.57 140.63 3\n--65.57 140.64 3\n--65.57 140.65 3\n--65.57 140.65 3\n--65.57 140.66 3\n--65.57 140.67 3\n--65.57 140.67 3\n--65.57 140.68 3\n--65.57 140.69 3\n--65.57 140.69 3\n--65.57 140.7 3\n--65.57 140.71 3\n--65.57 140.71 3\n--65.57 140.72 3\n--65.57 140.73 3\n--65.57 140.73 3\n--65.57 140.74 3\n--65.57 140.75 3\n--65.57 140.75 3\n--65.57 140.76 3\n--65.57 140.76 3\n--65.57 140.77 3\n--65.57 140.78 3\n--65.57 140.78 3\n--65.57 140.79 3\n--65.57 140.8 3\n--65.57 140.8 3\n--65.57 140.81 3\n--65.57 140.82 3\n--65.57 140.82 3\n--65.57 140.83 3\n--65.57 140.84 3\n--65.57 140.84 3\n--65.57 140.85 3\n--65.57 140.86 3\n--65.57 140.86 3\n--65.57 140.92 3\n--65.57 140.93 3\n--65.57 140.94 3\n--65.57 140.94 3\n--65.57 140.95 3\n--65.57 140.96 3\n--65.57 140.96 3\n--65.57 140.97 3\n--65.57 140.98 3\n--65.57 140.98 3\n--65.57 140.99 3\n--65.57 141 3\n--65.57 141.4 3\n--65.57 141.4 3\n--65.57 141.41 3\n--65.57 141.42 3\n--65.57 141.42 3\n--65.57 141.43 3\n--65.57 141.44 3\n--65.57 141.44 3\n--65.57 141.45 3\n--65.57 141.46 3\n--65.57 141.46 3\n--65.57 141.47 3\n--65.57 141.48 3\n--65.57 141.48 3\n--65.57 141.49 3\n--65.57 1'..b' 2\n--67.01 144.82 1\n--67.01 144.83 1\n--67.01 144.84 1\n--67.01 144.84 1\n--67.01 144.85 1\n--67.01 144.86 1\n--67.01 144.86 1\n--67.01 144.87 1\n--67.01 144.88 1\n--67.01 144.88 1\n--67.01 144.89 1\n--67.01 144.9 5\n--67.01 144.9 5\n--67.01 144.91 5\n--67.01 144.92 5\n--67.01 144.92 5\n--67.01 144.93 5\n--67.01 144.94 5\n--67.01 144.94 5\n--67.01 144.95 5\n--67.01 144.96 5\n--67.01 144.96 5\n--67.01 144.97 5\n--67.01 144.98 5\n--67.01 144.98 5\n--67.01 144.99 5\n--67.01 145 5\n--67.01 145 5\n--67.01 145.01 5\n--67.01 145.02 5\n--67.01 145.02 5\n--67.01 145.03 5\n--67.01 145.04 5\n--67.01 145.04 5\n--67.01 145.05 5\n--67.01 145.06 5\n--67.01 145.06 5\n--67.01 145.07 5\n--67.01 145.08 5\n--67.01 145.08 5\n--67.01 145.09 5\n--67.01 145.1 5\n--67.01 145.1 5\n--67.01 145.11 5\n--67.01 145.12 5\n--67.01 145.18 5\n--67.01 145.18 5\n--67.01 145.19 5\n--67.01 145.2 5\n--67.01 145.2 5\n--67.01 145.21 5\n--67.01 145.22 5\n--67.01 145.22 5\n--67.01 145.23 5\n--67.01 145.24 5\n--67.01 145.24 5\n--67.01 145.25 5\n--67.01 145.25 5\n--67.01 145.26 5\n--67.01 145.27 5\n--67.01 145.27 5\n--67.01 145.28 5\n--67.01 145.29 5\n--67.01 145.29 5\n--67.01 145.3 5\n--67.01 145.31 5\n--67.01 145.31 5\n--67.01 145.32 5\n--67.01 145.33 5\n--67.01 145.33 5\n--67.01 145.34 5\n--67.01 145.35 5\n--67.01 145.35 5\n--67.01 145.36 5\n--67.01 145.37 5\n--67.01 145.37 5\n--67.01 145.38 5\n--67.01 145.39 5\n--67.01 145.39 5\n--67.01 145.4 5\n--67.01 145.41 5\n--67.01 145.41 5\n--67.01 145.42 5\n--67.01 145.43 5\n--67.01 145.43 5\n--67.01 145.44 5\n--67.01 145.45 5\n--67.01 145.45 5\n--67.01 145.46 5\n--67.01 145.47 5\n--67.01 145.47 5\n--67.01 145.48 5\n--67.01 145.49 5\n--67.01 145.49 5\n--67.01 145.5 5\n--67.01 145.51 5\n--67.01 145.51 5\n--67.01 145.52 5\n--67.01 145.53 5\n--67.01 144.01 2\n--67.01 144.02 1\n--67.01 144.03 1\n--67.01 144.03 1\n--67.01 144.04 1\n--67.01 144.05 1\n--67.01 144.05 1\n--67.01 144.06 1\n--67.01 144.07 1\n--67.01 144.07 1\n--67.01 144.08 1\n--67.01 144.09 1\n--67.01 144.09 2\n--67.01 144.1 2\n--67.01 144.11 2\n--67.01 144.11 2\n--67.01 144.12 2\n--67.01 144.13 2\n--67.01 144.13 2\n--67.01 144.14 2\n--67.01 144.15 2\n--67.01 144.15 2\n--67.01 144.16 2\n--67.01 144.64 2\n--67.01 144.65 2\n--67.01 144.66 2\n--67.01 144.66 2\n--67.01 144.68 2\n--67.01 144.69 2\n--67.01 144.7 2\n--67.01 144.7 2\n--67.01 144.71 2\n--67.01 144.72 2\n--67.01 144.72 2\n--67.01 144.73 2\n--67.01 144.74 2\n--67.01 144.74 2\n--67.01 144.75 2\n--67.01 144.76 2\n--67.01 144.76 2\n--67.01 144.77 2\n--67.01 144.78 2\n--67.01 144.78 2\n--67.01 144.79 2\n--67.01 144.8 2\n--67.01 144.8 2\n--67.01 144.81 2\n--67.01 144.82 2\n--67.01 144.82 2\n--67.01 144.83 1\n--67.01 144.84 1\n--67.01 144.84 1\n--67.01 144.85 1\n--67.01 144.86 1\n--67.01 144.86 1\n--67.01 144.87 1\n--67.01 144.88 1\n--67.01 144.88 1\n--67.01 144.89 1\n--67.01 144.9 5\n--67.01 144.9 5\n--67.01 144.91 5\n--67.01 144.92 5\n--67.01 144.92 5\n--67.01 144.93 5\n--67.01 144.94 5\n--67.01 144.94 5\n--67.01 144.95 5\n--67.01 144.96 5\n--67.01 144.96 5\n--67.01 144.97 5\n--67.01 144.98 5\n--67.01 144.98 5\n--67.01 144.99 5\n--67.01 145 5\n--67.01 145 5\n--67.01 145.01 5\n--67.01 145.02 5\n--67.01 145.02 5\n--67.01 145.03 5\n--67.01 145.04 5\n--67.01 145.06 5\n--67.01 145.06 5\n--67.01 145.07 5\n--67.01 145.08 5\n--67.01 145.08 5\n--67.01 145.19 5\n--67.01 145.2 5\n--67.01 145.2 5\n--67.01 145.21 5\n--67.01 145.22 5\n--67.01 145.22 5\n--67.01 145.23 5\n--67.01 145.24 5\n--67.01 145.24 5\n--67.01 145.25 5\n--67.01 145.25 5\n--67.01 145.26 5\n--67.01 145.27 5\n--67.01 145.27 5\n--67.01 145.28 5\n--67.01 145.29 5\n--67.01 145.29 5\n--67.01 145.3 5\n--67.01 145.31 5\n--67.01 145.31 5\n--67.01 145.32 5\n--67.01 145.33 5\n--67.01 145.33 5\n--67.01 145.34 5\n--67.01 145.35 5\n--67.01 145.35 5\n--67.01 145.36 5\n--67.01 145.37 5\n--67.01 145.37 5\n--67.01 145.38 5\n--67.01 145.39 5\n--67.01 145.39 5\n--67.01 145.4 5\n--67.01 145.41 5\n--67.01 145.41 5\n--67.01 145.42 5\n--67.01 145.43 5\n--67.01 145.43 5\n--67.01 145.44 5\n--67.01 145.45 5\n--67.01 145.45 5\n--67.01 145.46 5\n--67.01 145.47 5\n--67.01 145.47 5\n--67.01 145.48 5\n--67.01 145.49 5\n--67.01 145.49 5\n--67.01 145.5 5\n--67.01 145.51 5\n--67.01 145.51 1\n--67.01 145.52 1\n--67.01 145.53 1\n'