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
)
}
Mornington Pensisula region
mornington_bb <- list( 144.595401, -38.509716, 145.350535, -37.791373)
plot(map_southeast)
do.call(rect, c(mornington_bb, lty = 3))

Taxa in northeast
(taxa_available_mornington <-
taxa_available_region(occupancy_southeast, mornington_bb))
map_taxa(
long_southeast,
which_match(
taxa_available_mornington$taxon,
subset(taxa_sampled, trees > 10)$taxon,
invert = TRUE
),
mornington_bb
)
IycgLS0tCiMnIHRpdGxlOiAiVGFyZ2V0IHRheGEgb24gdGhlIE1vcm5pbmd0b24gUGVuaW5zdWxhIgojJyBhdXRob3I6ICJXaWxsaWFtIEsuIE1vcnJpcyIKIycgZGF0ZTogImByIFN5cy5EYXRlKClgIgojJyBvdXRwdXQ6CiMnICAgcm1hcmtkb3duOjpodG1sX25vdGVib29rOgojJyAgICAgY29kZV9mb2xkaW5nOiBoaWRlCiMnIC0tLQoKIysgc2V0dXAsIG1lc3NhZ2U9RkFMU0UsIGZpZy5zaG93PSJoaWRlIiwgcmVzdWx0cz0iaGlkZSIKa25pdHI6Om9wdHNfY2h1bmskc2V0KGNhY2hlID0gVFJVRSwgZGV2ID0gYygicG5nIiwgInBkZiIpKQpsaWJyYXJ5KGV1Y3MpCmxpYnJhcnkobGVhZmxldCkKbGlicmFyeShzcCkKCnNvdXJjZSgiZXVjdHJhaXRzX3RhcmdldHMuUiIpCgp0YXhhX2F2YWlsYWJsZV9yZWdpb24gPC0gZnVuY3Rpb24ob2NjdXBhbmN5LCBiYikgewogIGFucyA8LSBzdWJzZXQoCiAgICBvY2N1cGFuY3ksCiAgICBsb25naXR1ZGVfZ2RhOTQgPiBiYltbMV1dICYgbGF0aXR1ZGVfZ2RhOTQgPiBiYltbMl1dICYKICAgIGxvbmdpdHVkZV9nZGE5NCA8IGJiW1szXV0gJiBsYXRpdHVkZV9nZGE5NCA8IGJiW1s0XV0KICApCiAgYW5zIDwtIGRvLmNhbGwocmJpbmQsIGFucyRvY2N1cGFuY3kpCiAgZGF0YS5mcmFtZSh0YXhvbiA9IG5hbWVzKHdoaWNoKGNvbE1lYW5zKGFucykgPiAwKSkpCn0KCm1hcF90YXhhIDwtIGZ1bmN0aW9uKG9jY3VwYW5jeSwgdGF4b24sIGJiKSB7CiAgb2NjdXBhbmN5IDwtIG9jY3VwYW5jeVsKICAgIG9jY3VwYW5jeSRvY2N1cGFuY3kgJgogICAgb2NjdXBhbmN5JHRheG9uICVpbiUgdGF4b24gJgogICAgb2NjdXBhbmN5JGxvbmdpdHVkZV9nZGE5NCA+IGJiW1sxXV0gJgogICAgb2NjdXBhbmN5JGxhdGl0dWRlX2dkYTk0ICA+IGJiW1syXV0gJgogICAgb2NjdXBhbmN5JGxvbmdpdHVkZV9nZGE5NCA8IGJiW1szXV0gJgogICAgb2NjdXBhbmN5JGxhdGl0dWRlX2dkYTk0ICA8IGJiW1s0XV0sCiAgICBjKCJsb25naXR1ZGVfZ2RhOTQiLCAibGF0aXR1ZGVfZ2RhOTQiLCAidGF4b24iLCAib2NjdXBhbmN5IikKICBdCiAgb2NjdXBhbmN5JGNvbG9yIDwtIGZhY3RvcihvY2N1cGFuY3kkdGF4b24pCiAgb2NjdXBhbmN5JGNvbG9yIDwtIHJhaW5ib3cobmxldmVscyhvY2N1cGFuY3kkY29sb3IpKVtvY2N1cGFuY3kkY29sb3JdCiAgbSA8LSBsZWFmbGV0KG9jY3VwYW5jeSkKICBtIDwtIGFkZFRpbGVzKG0pCiAgYWRkQ2lyY2xlTWFya2VycygKICAgIG0sCiAgICBsYXQgICA9IH5qaXR0ZXIobGF0aXR1ZGVfZ2RhOTQsIGFtb3VudCA9IC4wMDEpLAogICAgbG5nICAgPSB+aml0dGVyKGxvbmdpdHVkZV9nZGE5NCwgYW1vdW50ID0gLjAwMSksCiAgICBsYWJlbCA9IH50YXhvbiwKICAgIGNvbG9yID0gfmNvbG9yCiAgKQp9CgojJyBNb3JuaW5ndG9uIFBlbnNpc3VsYSByZWdpb24KIysgbW9ybmluZ3Rvbl9tYXAKbW9ybmluZ3Rvbl9iYiA8LSBsaXN0KCAxNDQuNTk1NDAxLCAtMzguNTA5NzE2LCAxNDUuMzUwNTM1LCAtMzcuNzkxMzczKQpwbG90KG1hcF9zb3V0aGVhc3QpCmRvLmNhbGwocmVjdCwgYyhtb3JuaW5ndG9uX2JiLCBsdHkgPSAzKSkKCiMnIFRheGEgaW4gbm9ydGhlYXN0CiMrIHRheGFfYXZhaWxhYmxlX25vcnRoZWFzdAoodGF4YV9hdmFpbGFibGVfbW9ybmluZ3RvbiA8LQogIHRheGFfYXZhaWxhYmxlX3JlZ2lvbihvY2N1cGFuY3lfc291dGhlYXN0LCBtb3JuaW5ndG9uX2JiKSkKCm1hcF90YXhhKAogIGxvbmdfc291dGhlYXN0LAogIHdoaWNoX21hdGNoKAogICAgdGF4YV9hdmFpbGFibGVfbW9ybmluZ3RvbiR0YXhvbiwKICAgIHN1YnNldCh0YXhhX3NhbXBsZWQsIHRyZWVzID4gMTApJHRheG9uLAogICAgaW52ZXJ0ID0gVFJVRQogICksCiAgbW9ybmluZ3Rvbl9iYgopCg==