rayvista 项目教程
1、项目介绍
rayvista
是一个为 {rayshader}
包提供的小插件,允许用户在地球上的任何位置创建3D可视化场景。它依赖于两个优秀的包:{maptiles}
和 {elevatr}
。{maptiles}
提供了多种地图样式,可以轻松叠加在 {elevatr}
提供的海拔数据上,创建3D场景。用户可以通过 {rayshader}
提供的功能与3D场景进行交互,如 render_snapshot
、render_highquality
、render_compass
等。
2、项目快速启动
安装
首先,确保你已经安装了 devtools
包,然后使用以下命令安装 rayvista
:
install.packages("devtools")
devtools::install_github("h-a-graham/rayvista", dependencies=TRUE)
快速示例
加载必要的包并运行一个简单的3D可视化示例:
library(rayshader)
library(rayvista)
lat <- 57.219566
long <- -6.092690
cuillins <- plot_3d_vista(lat = lat, long = long, phi=30, outlier_filter=0.001)
render_label(heightmap=cuillins, text='Bla Bheinn: 928 m', lat = lat, long= long, extent = attr(cuillins, 'extent'), altitude=600, clear_previous = T, zscale = 2)
render_compass()
render_scalebar(limits=c(round(dim(cuillins)[2]*attr(cuillins, 'resolution')/1000, 1)), label_unit = 'km')
render_snapshot(clear=TRUE)
3、应用案例和最佳实践
案例1:添加标签和指南针
library(rayshader)
library(rayvista)
lat <- 57.219566
long <- -6.092690
cuillins <- plot_3d_vista(lat = lat, long = long, phi=30, outlier_filter=0.001)
render_label(heightmap=cuillins, text='Bla Bheinn: 928 m', lat = lat, long= long, extent = attr(cuillins, 'extent'), altitude=600, clear_previous = T, zscale = 2)
render_compass()
render_snapshot(clear=TRUE)
案例2:生成深度效果
library(rayshader)
library(rayvista)
lat <- 55.757338
long <- -118.319322
GoraBolshayaUdina <- plot_3d_vista(lat=lat, long=long)
render_depth(GoraBolshayaUdina, focus=0.5, focallength = 200)
render_snapshot(clear=TRUE)
4、典型生态项目
{maptiles}
{maptiles}
是一个用于从各种在线地图服务获取地图瓦片的R包。它支持多种地图样式,可以与 rayvista
结合使用,提供丰富的地图背景。
{elevatr}
{elevatr}
是一个用于获取高程数据的R包。它可以从多个数据源获取高程数据,与 rayvista
结合使用,提供精确的海拔信息,用于创建3D场景。
通过结合这些生态项目,rayvista
可以创建出更加丰富和精确的3D可视化场景。