R語言,rayshader包荐健,render_path函數(shù)险耀,渲染三維路徑路線

搞笑的路線圖,路徑緊貼地面
添加3D路線
添加陰影

diy添加3D路線
# Thu Oct 15 14:56:34 2020 -

# 字符編碼:UTF-8
# R 版本:R x64 4.0.2 for window 10
# cgh163email@163.com
# 個人筆記不負(fù)責(zé)任
# —— 拎了個梨??
.rs.restartR()
rm(list=ls());gc()
# render_path函數(shù)音半,渲染三維路徑路線
require(rayshader)

# 使用范圍對象定義的參考系統(tǒng)中的緯度/經(jīng)度或坐標(biāo)则拷,將3D路徑添加到當(dāng)前場景。 如果未提供高度曹鸠,則路徑將升高一定的偏移高度煌茬,使其高于高度圖。 如果路徑偏離邊緣彻桃,將使用高度圖上最近的高度坛善。
#Starting at Moss Landing in Monterey Bay, we are going to simulate a flight of a bird going
#out to sea and diving for food.

#First, create simulated lat/long data
set.seed(2009)
moss_landing_coord = c(36.806807, -121.793332)
x_vel_out = -0.001 + rnorm(1000)[1:300]/1000
y_vel_out = rnorm(1000)[1:300]/200
z_out = c(seq(0,2000,length.out = 180), seq(2000,0,length.out=10),
          seq(0,2000,length.out = 100), seq(2000,0,length.out=10))

bird_track_lat = list()
bird_track_long = list()
bird_track_lat[[1]] = moss_landing_coord[1]
bird_track_long[[1]] = moss_landing_coord[2]
for(i in 2:300) {
  bird_track_lat[[i]] = bird_track_lat[[i-1]] + y_vel_out[i]
  bird_track_long[[i]] = bird_track_long[[i-1]] + x_vel_out[i]
}


#渲染3D地圖
montereybay %>%
  sphere_shade() %>%
  plot_3d(montereybay,zscale=50,water=TRUE,
          shadowcolor="#40310a", watercolor="#233aa1", background = "tan",
          theta=210,  phi=22, zoom=0.2, fov=55)

#傳遞基礎(chǔ)柵格的范圍(存儲在montereybay #dataset的屬性中)以及軌道的緯度,經(jīng)度和海拔高度邻眷。
render_path(extent = attr(montereybay,"extent"),
            lat = unlist(bird_track_lat), long = unlist(bird_track_long),
            altitude = z_out, zscale=50,color="white", antialias=TRUE)
render_snapshot()
# Sat Oct 17 13:57:14 2020 ---diy---------------------------
map.bys <- raster('https://gitee.com/youmigo/open-file/raw/master/.grd/%E7%99%BD%E4%BA%91%E5%B1%B160%E7%B1%B3%E9%87%87%E6%A0%B7%E9%AB%98%E7%A8%8B%E7%82%B9.grd')#白云山grd
# runif(n, min, max ) 生成n個大于min眠屎,小于max的隨機(jī)數(shù)
# 113.2837, 113.3292, 23.15698, 23.21607

map.xyz <- data.frame(runif(100,23.15698,23.21607),runif(100,113.2837,113.3292),runif(100,5,200))
names(map.xyz)

rgl::rgl.close() # 清空設(shè)備
raster_to_matrix(map.bys) %>% sphere_shade() %>%
  plot_3d(  raster_to_matrix(map.bys),zscale = 8,
            water = T,waterdepth = 15,
            zoom = .8) #  水平面100


render_path(extent = attr(map.bys,"extent"),
            lat = map.xyz[,1], long =map.xyz[,2],
            altitude =map.xyz[,3], zscale=5,color="#FFCCCC")
render_snapshot()

dev.copy(png, "diy添加3D路線.png", width = 400, height = 400);dev.off() # 保存當(dāng)前顯示的圖像
# Sat Oct 17 14:08:28 2020 --diy,ok
#
#陰影
#我們將海拔高度設(shè)置在水面上方,以使軌道具有“陰影”肆饶。
render_path(extent = attr(montereybay,"extent"),
            lat = unlist(bird_track_lat), long = unlist(bird_track_long),
            altitude = 10, zscale=50, color="black", antialias=TRUE)
render_camera(theta=30,phi=35,zoom=0.45,fov=70)
render_snapshot()
dev.copy(png, "添加陰影.png");dev.off()

# 刪除路徑:
render_path(clear_previous=TRUE)

# 通過離開海拔高度'NULL'來繪制與地面偏移的GPS坐標(biāo)组力。#在這里,我們繪制了圍繞Moss Landing的螺旋形數(shù)值抖拴。 這需要原始的高度圖。

t = seq(0,2*pi,length.out=1000)
circle_coords_lat = moss_landing_coord[1] + 0.5 * t/8 * sin(t*6)
circle_coords_long = moss_landing_coord[2] + 0.5 * t/8 *  cos(t*6)
render_path(extent = attr(montereybay,"extent"), heightmap = montereybay,
            lat = unlist(circle_coords_lat), long = unlist(circle_coords_long),
            zscale=50, color="red", antialias=TRUE,offset=100, linewidth=5)
render_camera(theta = 160, phi=33, zoom=0.4, fov=55)
render_snapshot()
dev.copy(png,'搞笑的路線圖.jpg');dev.off()

#And all of these work with
render_highquality()
render_highquality(clamp_value=10, line_radius=3)
rgl::rgl.close()

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市阿宅,隨后出現(xiàn)的幾起案子候衍,更是在濱河造成了極大的恐慌,老刑警劉巖洒放,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛉鹿,死亡現(xiàn)場離奇詭異,居然都是意外死亡往湿,警方通過查閱死者的電腦和手機(jī)妖异,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來领追,“玉大人他膳,你說我怎么就攤上這事斋泄『嫫郑” “怎么了宁仔?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵坎弯,是天一觀的道長检疫。 經(jīng)常有香客問我湖笨,道長迅栅,這世上最難降的妖魔是什么小泉? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任订雾,我火速辦了婚禮肢预,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘洼哎。我一直安慰自己烫映,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布谱净。 她就那樣靜靜地躺著窑邦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪壕探。 梳的紋絲不亂的頭發(fā)上冈钦,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天,我揣著相機(jī)與錄音李请,去河邊找鬼瞧筛。 笑死,一個胖子當(dāng)著我的面吹牛导盅,可吹牛的內(nèi)容都是我干的较幌。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼白翻,長吁一口氣:“原來是場噩夢啊……” “哼乍炉!你這毒婦竟也來了绢片?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤岛琼,失蹤者是張志新(化名)和其女友劉穎底循,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體槐瑞,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡熙涤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了困檩。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片祠挫。...
    茶點(diǎn)故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖悼沿,靈堂內(nèi)的尸體忽然破棺而出等舔,到底是詐尸還是另有隱情,我是刑警寧澤显沈,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布软瞎,位于F島的核電站,受9級特大地震影響拉讯,放射性物質(zhì)發(fā)生泄漏涤浇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一魔慷、第九天 我趴在偏房一處隱蔽的房頂上張望只锭。 院中可真熱鬧,春花似錦院尔、人聲如沸蜻展。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽纵顾。三九已至,卻和暖如春栋盹,著一層夾襖步出監(jiān)牢的瞬間施逾,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工例获, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留汉额,地道東北人。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓榨汤,卻偏偏與公主長得像蠕搜,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子收壕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評論 2 354