Mercurial > repos > ecology > data_paper_from_eml
annotate map_geographical_coverage.R @ 0:4a468c0c2260 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:32 +0000 |
parents | |
children |
rev | line source |
---|---|
0
4a468c0c2260
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 |
4a468c0c2260
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) |
4a468c0c2260
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) |
4a468c0c2260
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) |
4a468c0c2260
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) |
4a468c0c2260
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) |
4a468c0c2260
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) |
4a468c0c2260
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 |
4a468c0c2260
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) |
4a468c0c2260
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) |
4a468c0c2260
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 { |
4a468c0c2260
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") |
4a468c0c2260
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{ |
4a468c0c2260
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] |
4a468c0c2260
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 } |
4a468c0c2260
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 |
4a468c0c2260
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 |
4a468c0c2260
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 |
4a468c0c2260
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 |
4a468c0c2260
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 #' |
4a468c0c2260
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 |
4a468c0c2260
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 |
4a468c0c2260
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 |
4a468c0c2260
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){ |
4a468c0c2260
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") |
4a468c0c2260
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)) |
4a468c0c2260
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 |
4a468c0c2260
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") |
4a468c0c2260
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))) |
4a468c0c2260
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 |
4a468c0c2260
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") |
4a468c0c2260
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))) |
4a468c0c2260
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 |
4a468c0c2260
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") |
4a468c0c2260
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))) |
4a468c0c2260
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 |
4a468c0c2260
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") |
4a468c0c2260
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))) |
4a468c0c2260
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 |
4a468c0c2260
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) |
4a468c0c2260
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 |
4a468c0c2260
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) %>% |
4a468c0c2260
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") |
4a468c0c2260
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 |
4a468c0c2260
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)) { |
4a468c0c2260
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]){ |
4a468c0c2260
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()} |
4a468c0c2260
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 |
4a468c0c2260
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]){ |
4a468c0c2260
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], |
4a468c0c2260
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()} |
4a468c0c2260
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 } |
4a468c0c2260
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")) |
4a468c0c2260
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 } |
4a468c0c2260
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 |
4a468c0c2260
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) |
4a468c0c2260
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 |
4a468c0c2260
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"))){ |
4a468c0c2260
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." |
4a468c0c2260
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 |
4a468c0c2260
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{ |
4a468c0c2260
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) |
4a468c0c2260
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 } |
4a468c0c2260
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 |