library(overtureR)
library(ggplot2)
library(dplyr)
library(rayshader)
# Define a bounding box for New York City
txst <- c(xmin = -97.946919, ymin = 29.88700, xmax = -97.93, ymax = 29.89000)
# Download building data for NYC to a local directory
local_buildings <- open_curtain("building", txst) |>
record_overture(output_dir = tempdir(), overwrite = TRUE)
# The downloaded data is returned as a `dbplyr` object, same as the original (but faster!)
broadway_buildings <- local_buildings |>
filter(!is.na(height)) |>
mutate(height = round(height)) |>
collect()
p <- ggplot(broadway_buildings) +
geom_sf(aes(fill = height)) +
scale_fill_distiller(palette = "Oranges", direction = 1) +
# guides(fill = FALSE) +
labs(title = "TXST", caption = "Data: Overture Maps", fill = "")
# Convert to 3D and render
plot_gg(
p,
multicore = TRUE,
width = 6, height = 5, scale = 250,
windowsize = c(1032, 860),
zoom = 0.55,
phi = 40, theta = 0,
solid = FALSE,
offset_edges = TRUE,
sunangle = 75
)
render_snapshot(clear=TRUE)
