Terrainer使您可以轻松地从National Map API系列中检索美国境内感兴趣区域的高程图和底图图像图块,然后将数据处理成更大的合并图像
Terrainer提供了三个主要实用程序。首先,可以通过get_tiles
函数从国家地图下载数据,下载以sf
或 Raster
对象表示的区域的数据图块
加载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]]))
![](https://img.haomeiwen.com/i16360488/cb928b5fa70e3cfa.png)
raster::plotRGB(raster::brick(output_tiles[["ortho"]][[1]]), scale = 1)
![](https://img.haomeiwen.com/i16360488/294943bda73386cc.png)
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))
![](https://img.haomeiwen.com/i16360488/c0f868bc79e66f6a.png)
最后,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))
![](https://img.haomeiwen.com/i16360488/ad674a411c94d3d6.png)
网友评论