Mercurial > repos > ecology > data_paper_from_eml
annotate map_geographical_coverage.R @ 0:cfe884e53600 draft default tip
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
| author | ecology | 
|---|---|
| date | Tue, 15 Oct 2024 20:33:48 +0000 | 
| parents | |
| children | 
| rev | line source | 
|---|---|
| 
0
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
1 #From https://github.com/TanguyGen/metaCure/blob/main/R/eml_down.R | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
2 #Modified by Seguineau Pauline (2024-10-15) | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
3 library(dplyr) | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
4 library(xslt) | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
5 library(xml2) | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
6 library(mapview) | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
7 library(leaflet) | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
8 | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
9 args = commandArgs(trailingOnly=TRUE) | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
10 if (length(args)==0) | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
11 { | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
12 stop("This tool needs at least one argument") | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
13 }else{ | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
14 data <- args[1] | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
15 } | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
16 | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
17 #' map_geographical_coverage | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
18 #'Make a map from EML | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
19 #' @param eml Metadata using EML standard in XML format | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
20 #' | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
21 #' @return A map | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
22 #' @export | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
23 | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
24 map_geographical_coverage <- function(eml){ | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
25 name <- xml2::xml_find_all(eml, "//geographicCoverage/geographicDescription") | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
26 name <- unlist(xml2::as_list(name)) | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
27 | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
28 west <- xml2::xml_find_all(eml, "//geographicCoverage/boundingCoordinates/westBoundingCoordinate") | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
29 west <- as.numeric(unlist(xml2::as_list(west))) | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
30 | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
31 east <- xml2::xml_find_all(eml, "//geographicCoverage/boundingCoordinates/eastBoundingCoordinate") | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
32 east <- as.numeric(unlist(xml2::as_list(east))) | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
33 | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
34 north <- xml2::xml_find_all(eml, "//geographicCoverage/boundingCoordinates/northBoundingCoordinate") | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
35 north <- as.numeric(unlist(xml2::as_list(north))) | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
36 | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
37 south <- xml2::xml_find_all(eml, "//geographicCoverage/boundingCoordinates/southBoundingCoordinate") | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
38 south <- as.numeric(unlist(xml2::as_list(south))) | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
39 | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
40 geo_info <- data.frame(name = name, west = west, east = east, south = south, north = north) | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
41 | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
42 map <- leaflet(geo_info) %>% | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
43 addProviderTiles("CartoDB.Positron") | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
44 | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
45 for (i in 1:nrow(geo_info)) { | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
46 if (geo_info$west[i]==geo_info$east[i] && geo_info$south[i]==geo_info$north[i]){ | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
47 map <- map %>% addCircles(lng = geo_info$west[i] , lat= geo_info$south[i], fillColor = "transparent" ) %>% addScaleBar()} | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
48 | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
49 else if(geo_info$west[i]!=geo_info$east[i] && geo_info$south[i]!=geo_info$north[i]){ | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
50 map <- map %>% addRectangles(lng1 = geo_info$west[i], lat1 = geo_info$south[i], | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
51 lng2 = geo_info$east[i], lat2 = geo_info$north[i], fillColor = "transparent") %>% addScaleBar()} | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
52 } | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
53 mapview::mapshot(map, file = "map.png",remove_controls = c("zoomControl", "layersControl", "homeButton","drawToolbar", "easyButton")) | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
54 } | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
55 | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
56 doc <- read_xml(data) | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
57 | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
58 if (is.na(xml2::xml_find_first(doc, "//geographicCoverage"))){ | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
59 mes = "No geographic coverage found, skipping geographic coverage step." | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
60 mes | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
61 }else{ | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
62 map_geographical_coverage(doc) | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
63 } | 
| 
 
cfe884e53600
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/main/tools-ecology/tools/make_data_paper_sketches commit 34f4e0604adc2a2ba4902ce6b8e6df2460eda292
 
ecology 
parents:  
diff
changeset
 | 
64 | 
