R语言对地形数据进行三维可视化
2018-02-09 15:00
567 查看
//http://blog.csdn.net/allenlu2008/article/details/49874111标签: r语言三维可视化空间数据空间统计2015-11-16 23:45 3812人阅读 评论(1) 收藏 举报
分类:GIS(111)
数据分析(117)
版权声明:本文为博主原创文章,未经博主允许不得转载。 http://blog.csdn.net/allenlu2008/article/details/49874111通过R语言,可以对DEM数据进行可视化,无论是二维的可视化还是三维的可视化,都得心应手,先看看效果:
1、二维可视化:栅格渲染+等高线
2、三维可视化:网格白膜
3、三维渲染可视化。
下面通过R语言脚本,来解释如何制作这样的可视化效果:
最后来一张珠穆朗玛峰的:
脚本和数据下载地址:
http://ncportal.esrichina.com.cn/arcgis/home/item.html?id=9cb5eb34f95f4a9b85fc3d523019098d
分类:GIS(111)
数据分析(117)
版权声明:本文为博主原创文章,未经博主允许不得转载。 http://blog.csdn.net/allenlu2008/article/details/49874111通过R语言,可以对DEM数据进行可视化,无论是二维的可视化还是三维的可视化,都得心应手,先看看效果:
1、二维可视化:栅格渲染+等高线
2、三维可视化:网格白膜
3、三维渲染可视化。
下面通过R语言脚本,来解释如何制作这样的可视化效果:
############################################## 新西兰的芒格法奥火山地形可视化 ############################################## #首先加载volcano.csv数据,并且设置没有列头名称volcanodem <- read.csv("E:/volcanodem", header=FALSE) #将数据集转换为矩阵volcano <- as.matrix(volcanodem) #设置高程值z <- volcano#x坐标,每个网格为10米分辨率,方向由南向北x <- 10*(1:nrow(z)) #y坐标,每个网格为10米分辨率,方向由东向西y <- 10*(1:ncol(z)) ## 二维可视化:栅格+等高线(见图片1)par(mar=rep(0.5,4)) image(x, y, z, col=terrain.colors(100), axes=F)contour(x, y, z, levels=seq(from=min(z), to=max(z), by=10),axes=F, add=T) ## 三维可视化(见图片2)par(mar=rep(0,4)) #三维网格模式显示(白膜)persp(x,y,z,theta=120,phi=15,scale=F,axes=F) ## 带色带的三维模式渲染(见图片3)#设置高程值为2倍拉伸z <- 2 * volcanox <- 10 * (1:nrow(z))y <- 10 * (1:ncol(z)) ## 创建一份新的用于绘制的网格数据集#z0是用于设置栅格边缘的颜色z0 <- min(z) - 20#用z0的颜色,把整个栅格包裹起来z <- rbind(z0, cbind(z0, z, z0), z0)#用x的最小值和最大值,把x包裹起来,对应上面那个z0x <- c(min(x) - 1e-10, x, max(x) + 1e-10)#用y的最小值和最大值,把x包裹起来,对应上面那个z0y <- c(min(y) - 1e-10, y, max(y) + 1e-10) ## 创建用于显示颜色的矩阵#默认全部使用绿色fcol <- matrix("green3", nr = nrow(z)-1, nc = ncol(z)-1)#用灰色把所有的绿色都包裹起来,即设置四周的边界值fcol[ , i2 <- c(1,ncol(fcol))] <- "gray"fcol[i1 <- c(1,nrow(fcol)) , ] <- "gray" ## Take average of four neighboring values for palette##将上面设置的默认色,用都取相邻的四个格网颜色的平均值进行替换zi <- (volcano[ -1,-1] + volcano[ -1,-61] + volcano[-87,-1] + volcano[-87,-61])/4pal <- terrain.colors(20)[cut(zi, quantile(zi, seq(0,1, len = 21)), include.lowest = TRUE)]fcol[-i1,-i2] <- pal ## 绘图par(mar=rep(0,4))persp(x, y, z, theta=120, phi=15, col = fcol, scale = FALSE, shade = 0.4, border = NA) |
脚本和数据下载地址:
http://ncportal.esrichina.com.cn/arcgis/home/item.html?id=9cb5eb34f95f4a9b85fc3d523019098d
相关文章推荐
- R语言对地形数据进行三维可视化
- 利用R语言进行交互数据可视化(转)
- 利用R语言进行交互数据可视化
- 用R语言进行数据可视化的综合指南(一)
- 用R语言进行数据可视化的综合指南(二)
- 利用R语言进行交互数据可视化
- 利用R语言进行交互数据可视化
- 如何用FineReport报表进行数据可视化分析?
- DEM 三维地形处理之一:创建三维地形的源数据之地形高程DEM数据和纹理贴图数据
- Python进阶(三十九)-数据可视化の使用matplotlib进行绘图分析数据
- circso 对数据进行可视化
- 用R语言的MICE包对缺失数据进行多重插补(一)-- 缺失数据分析
- caffe-windows利用python对数据进行可视化
- ROS数据可视化工具Rviz和三维物理引擎机器人仿真工具V-rep Morse Gazebo Webots USARSimRos等概述
- 利用 ELK系统分析Nginx日志并对数据进行可视化展示
- 在ArcGlobe三维环境中进行数据查询2(模型定位显示)
- 虚拟现实中三维真实地形的可视化方法
- Mac OS 环境下安装ccplot并对CloudSat、CALIPSO和MODIS数据进行可视化
- 【R语言进行数据挖掘】决策树和随机森林
- 在Python中对MySQL中的数据进行可视化