knitr::opts_chunk$set(cache = TRUE, dev = c("png", "pdf"))
library(eucs)
library(leaflet)
library(sp)
source("euctraits_targets.R")
taxa_available_region <- function(occupancy, bb) {
ans <- subset(
occupancy,
longitude_gda94 > bb[[1]] & latitude_gda94 > bb[[2]] &
longitude_gda94 < bb[[3]] & latitude_gda94 < bb[[4]]
)
ans <- do.call(rbind, ans$occupancy)
data.frame(taxon = names(which(colMeans(ans) > 0)))
}
map_taxa <- function(occupancy, taxon, bb) {
occupancy <- occupancy[
occupancy$occupancy &
occupancy$taxon %in% taxon &
occupancy$longitude_gda94 > bb[[1]] &
occupancy$latitude_gda94 > bb[[2]] &
occupancy$longitude_gda94 < bb[[3]] &
occupancy$latitude_gda94 < bb[[4]],
c("longitude_gda94", "latitude_gda94", "taxon", "occupancy")
]
occupancy$color <- factor(occupancy$taxon)
occupancy$color <- rainbow(nlevels(occupancy$color))[occupancy$color]
m <- leaflet(occupancy)
m <- addTiles(m)
addCircleMarkers(
m,
lat = ~jitter(latitude_gda94, amount = .001),
lng = ~jitter(longitude_gda94, amount = .001),
label = ~taxon,
color = ~color
)
}
ACT region
act_bb <- list(147.372239, -36.915181, 150.827778, -34.528067)
plot(map_southeast)
do.call(rect, c(act_bb, lty = 3))

Taxa in the ACT region
(taxa_available_act <-
taxa_available_region(occupancy_southeast, act_bb))
map_taxa(
long_southeast,
which_match(
taxa_available_act$taxon,
subset(taxa_sampled, trees > 5)$taxon,
invert = TRUE
),
act_bb
)
IycgLS0tCiMnIHRpdGxlOiAiVGFyZ2V0IHRheGEgaW4gdGhlIEFDVCByZWdpb24iCiMnIGF1dGhvcjogIldpbGxpYW0gSy4gTW9ycmlzIgojJyBkYXRlOiAiYHIgU3lzLkRhdGUoKWAiCiMnIG91dHB1dDoKIycgICBybWFya2Rvd246Omh0bWxfbm90ZWJvb2s6CiMnICAgICBjb2RlX2ZvbGRpbmc6IGhpZGUKIycgLS0tCgojKyBzZXR1cCwgbWVzc2FnZT1GQUxTRSwgZmlnLnNob3c9ImhpZGUiLCByZXN1bHRzPSJoaWRlIgprbml0cjo6b3B0c19jaHVuayRzZXQoY2FjaGUgPSBUUlVFLCBkZXYgPSBjKCJwbmciLCAicGRmIikpCmxpYnJhcnkoZXVjcykKbGlicmFyeShsZWFmbGV0KQpsaWJyYXJ5KHNwKQoKc291cmNlKCJldWN0cmFpdHNfdGFyZ2V0cy5SIikKCnRheGFfYXZhaWxhYmxlX3JlZ2lvbiA8LSBmdW5jdGlvbihvY2N1cGFuY3ksIGJiKSB7CiAgYW5zIDwtIHN1YnNldCgKICAgIG9jY3VwYW5jeSwKICAgIGxvbmdpdHVkZV9nZGE5NCA+IGJiW1sxXV0gJiBsYXRpdHVkZV9nZGE5NCA+IGJiW1syXV0gJgogICAgbG9uZ2l0dWRlX2dkYTk0IDwgYmJbWzNdXSAmIGxhdGl0dWRlX2dkYTk0IDwgYmJbWzRdXQogICkKICBhbnMgPC0gZG8uY2FsbChyYmluZCwgYW5zJG9jY3VwYW5jeSkKICBkYXRhLmZyYW1lKHRheG9uID0gbmFtZXMod2hpY2goY29sTWVhbnMoYW5zKSA+IDApKSkKfQoKbWFwX3RheGEgPC0gZnVuY3Rpb24ob2NjdXBhbmN5LCB0YXhvbiwgYmIpIHsKICBvY2N1cGFuY3kgPC0gb2NjdXBhbmN5WwogICAgb2NjdXBhbmN5JG9jY3VwYW5jeSAmCiAgICBvY2N1cGFuY3kkdGF4b24gJWluJSB0YXhvbiAmCiAgICBvY2N1cGFuY3kkbG9uZ2l0dWRlX2dkYTk0ID4gYmJbWzFdXSAmCiAgICBvY2N1cGFuY3kkbGF0aXR1ZGVfZ2RhOTQgID4gYmJbWzJdXSAmCiAgICBvY2N1cGFuY3kkbG9uZ2l0dWRlX2dkYTk0IDwgYmJbWzNdXSAmCiAgICBvY2N1cGFuY3kkbGF0aXR1ZGVfZ2RhOTQgIDwgYmJbWzRdXSwKICAgIGMoImxvbmdpdHVkZV9nZGE5NCIsICJsYXRpdHVkZV9nZGE5NCIsICJ0YXhvbiIsICJvY2N1cGFuY3kiKQogIF0KICBvY2N1cGFuY3kkY29sb3IgPC0gZmFjdG9yKG9jY3VwYW5jeSR0YXhvbikKICBvY2N1cGFuY3kkY29sb3IgPC0gcmFpbmJvdyhubGV2ZWxzKG9jY3VwYW5jeSRjb2xvcikpW29jY3VwYW5jeSRjb2xvcl0KICBtIDwtIGxlYWZsZXQob2NjdXBhbmN5KQogIG0gPC0gYWRkVGlsZXMobSkKICBhZGRDaXJjbGVNYXJrZXJzKAogICAgbSwKICAgIGxhdCAgID0gfmppdHRlcihsYXRpdHVkZV9nZGE5NCwgYW1vdW50ID0gLjAwMSksCiAgICBsbmcgICA9IH5qaXR0ZXIobG9uZ2l0dWRlX2dkYTk0LCBhbW91bnQgPSAuMDAxKSwKICAgIGxhYmVsID0gfnRheG9uLAogICAgY29sb3IgPSB+Y29sb3IKICApCn0KCiMnIEFDVCByZWdpb24KIysgYWN0X21hcAphY3RfYmIgPC0gbGlzdCgxNDcuMzcyMjM5LCAtMzYuOTE1MTgxLCAxNTAuODI3Nzc4LCAtMzQuNTI4MDY3KQpwbG90KG1hcF9zb3V0aGVhc3QpCmRvLmNhbGwocmVjdCwgYyhhY3RfYmIsIGx0eSA9IDMpKQoKIycgVGF4YSBpbiB0aGUgQUNUIHJlZ2lvbgojKyB0YXhhX2F2YWlsYWJsZV9hY3QKKHRheGFfYXZhaWxhYmxlX2FjdCA8LQogIHRheGFfYXZhaWxhYmxlX3JlZ2lvbihvY2N1cGFuY3lfc291dGhlYXN0LCBhY3RfYmIpKQoKbWFwX3RheGEoCiAgbG9uZ19zb3V0aGVhc3QsCiAgd2hpY2hfbWF0Y2goCiAgICB0YXhhX2F2YWlsYWJsZV9hY3QkdGF4b24sCiAgICBzdWJzZXQodGF4YV9zYW1wbGVkLCB0cmVlcyA+IDUpJHRheG9uLAogICAgaW52ZXJ0ID0gVFJVRQogICksCiAgYWN0X2JiCikK