library(showtext)
library(sysfonts)
library(extrafont)
showtext::showtext_auto()
showtext::showtext_opts(dpi=320)
font_add_google(name="Poor Story",family="Poor Story")Overview
Improving map Islands (day 26) with Campsites in Urupukapuka Island no dogs allowed. Data is from the New Zealand Hydrographic Authority & data.govt.nz.
Set the fonts
library(leaflet)
# library(leaflet.extras)
# library(leaflet.providers)# fileid<- "d069b4c5-ec5b-c750-45aa-0a13f57dc35a"
#Geographic Bounding Box
# bbox<- c(174.064747966174,.345239694,-35.2867580621,-35.1399271488)library(tidyverse)
library(rgdal)
library(sf)# Department of Conservation (DOC) - Campsites. Dataset shows all campsites.
# https://catalogue.data.govt.nz/dataset/doc-campsites3shp <- readOGR("data/DOC_Campsites")plot(shp)# shp%>%Viewshp@proj4stringshp@data%>%
ggplot()+
geom_point(aes(x,y))df <- shp@data %>%
st_as_sf(coords=c("x","y"),
crs="+proj=tmerc +lat_0=0 +lon_0=173 +k=0.9996 +x_0=1600000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0
+units=m +no_defs") %>%
sf::st_transform(crs = "+proj=longlat +datum=WGS84") %>%
tibble()df1 <- shp@data %>%
st_as_sf(coords=c("x","y"),
crs="+proj=tmerc +lat_0=0 +lon_0=173 +k=0.9996 +x_0=1600000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0
+units=m +no_defs") %>%
sf::st_transform(crs = "+proj=longlat +datum=WGS84") %>%
st_coordinates() %>%
bind_cols(df)df2<- df1%>%
mutate(dogs=ifelse(dogsAllowe=="No dogs","no","yes"),
.after=Y)# df1%>%Viewtable(df2$dogs)
table(df2$campsiteCa)getColor <- function(df2) {
sapply(df2$dogs, function(dogs) {
ifelse(dogs == "yes","green","red")})
}icons <- awesomeIcons(
icon = 'ios-close',
iconColor = 'black',
library = 'ion',
markerColor = getColor(df2)
)tile <- "http://tiles-{s}.data-cdn.linz.govt.nz/services;key=0661036048984cf88489c5930d0c2e98/tiles/v4/layer=NZ512501/EPSG:3857/{z}/{x}/{y}.png"islands_mixup <- leaflet(options = leafletOptions(zoomControl = FALSE)) %>%
# -35.20870804, 174.22736660.
setView(174.22736660,-35.20870804,zoom=14) %>%
addTiles() %>%
# addProviderTiles(providers$Esri.NatGeoWorldMap,
# options = providerTileOptions(opacity = 0.35))%>%
addWMSTiles(
"https://tiles-cdn.koordinates.com/services;key=0661036048984cf88489c5930d0c2e98/tiles/v4/layer=51306/EPSG:3857/{z}/{x}/{y}.png",
layers = "51306",
options = WMSTileOptions(format = "image/png",
transparent = FALSE),
attribution = "New Zealand Hydrographic Authority") %>%
addAwesomeMarkers(lng = df2$X,
lat = df2$Y,
icon=icons) %>%
addMeasure()%>%
addMiniMap()
islands_mixup## load packages
library(htmlwidgets)
library(webshot)## save html to png
saveWidget(islands_mixup, "temp.html", selfcontained = FALSE)
webshot("temp.html", file = "data/islands_mixup.png",
cliprect = "viewport")library(cowplot)
ggdraw()+
draw_image("data/islands_mixup.png")+
draw_line(x=c(0,0.99),y=c(0.89),
alpha=0.4,
color="grey95",size=20)+
draw_label("Campsites in Urupukapuka Island no dogs allowed",
x=0.5,y=0.95,
fontface = "bold",
fontfamily = "Poor Story") +
draw_label("#30DayMapChallenge 2022 Day 30: Mixup\nDataSource: New Zealand Hydrographic Authority & data.govt.nz | Graphics: @fgazzelloni",
x=0.5,y=0.90,
lineheight = 1.2,
fontfamily = "Poor Story",
size=5)ggsave("day30_remix.png",
dpi=200,
width = 6.83,
height =5.26 )