美文网首页R
Terrainer:R中的景观可视化

Terrainer:R中的景观可视化

作者: R语言数据分析指南 | 来源:发表于2021-03-14 22:06 被阅读0次

Terrainer使您可以轻松地从National Map API系列中检索美国境内感兴趣区域的高程图和底图图像图块,然后将数据处理成更大的合并图像

Terrainer提供了三个主要实用程序。首先,可以通过get_tiles 函数从国家地图下载数据,下载以sfRaster对象表示的区域的数据图块

加载R包

devtools::install_github("ropensci/terrainr")
library(terrainr)
library(sf)
library(tidyverse)
library(progressr)
handlers("progress")

下载数据

simulated_data <- data.frame(id = seq(1, 100, 1),
                             lat = runif(100, 44.04905, 44.17609), 
                             lng = runif(100, -74.01188, -73.83493))

simulated_data <- st_as_sf(simulated_data, coords = c("lng", "lat"))
simulated_data <- st_set_crs(simulated_data, 4326)

with_progress( 
  output_tiles <- get_tiles(simulated_data,
                            services = c("elevation", "ortho"),
                            resolution = 90   )
)

下载后,这些图像将采用标准的GeoTIFF或PNG格式

raster::plot(raster::raster(output_tiles[["elevation"]][[1]]))
raster::plotRGB(raster::brick(output_tiles[["ortho"]][[1]]), scale = 1)

terrainer提供了用于处理这些文件的功能,编辑下载的图像以创建新的基础地图图块

vector_overlay <- vector_to_overlay(
  simulated_data,
  output_tiles[["ortho"]]
)

vector_overlay <- combine_overlays(
  output_tiles[["ortho"]],
  vector_overlay
)

raster::plotRGB(raster::stack(vector_overlay))

最后,terrainer可以通过新的geom_spatial_rgbgeom在R中本地显示这些数据

ggplot() + 
  geom_spatial_rgb(data = output_tiles[["ortho"]],
                   aes(x = x, y = y,
                       r = red, g = green, b = blue)) + 
  geom_sf(data = simulated_data)+
  theme_bw()+xlab(NULL)+ylab(NULL)+
  scale_y_continuous(expand=c(0,0))+
  scale_x_continuous(expand=c(0,0))

相关文章

网友评论

    本文标题:Terrainer:R中的景观可视化

    本文链接:https://www.haomeiwen.com/subject/pzwccltx.html