R语言在线地图神器:Leaflet for R包(六,完结篇)栅格、颜色和图例设置
2018-03-03 16:56
645 查看
八、栅格数据 栅格数据是当前GIS领域里面最庞大的一类数据(天上N颗卫星24小时无死角的对地球君进行直播……每天生成遥感数据都以PB为单位),leaflet作为地图可视化模块,自然也提供了加载栅格数据的方法。 方法如下:addRasterImage(地图,参数) 要注意的一点是,栅格不像矢量数据,矢量本身就带有空间参考信息,而栅格有些是不带空间参考的,如果你不指定投影参数,那么leaflet会默认把加载的栅格投影成WGS84 Web Mercator (Auxiliary Sphere)(EPSG:3857),也就是谷歌地图用的那种空间参考。 下面通过两个示例来说明,首先是加载一个NC(netCDF)文件:注意,需要安装raster包和ncdf4包
![](https://img-blog.csdn.net/20161020130125277?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
下面加载一个北京主干道的车流密度分析栅格:
![](https://img-blog.csdn.net/20161020130134558?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
九、颜色设置 空间可视化的最重要部分,就是把空间要素上的附件属性映射到颜色上,通过颜色的对比,来反应变量之间的关系,这些变量可以是数值,也可以是类别。 R语言号称顶级的可视化语言,所以对于颜色设置的方法多到你眼花缭乱,有兴趣的同学可以去参考R语言的相关教程。 leaflet里面的颜色设置一共有个参数,分布是color和fillcolor,从名称就可以看出来,一个是主颜色,一个是填充色,那么对应各种对象来说,color一般就是所谓的边框的颜色了。 在配合leaflet进行数值渲染的R语言调色函数里面,最常用的有以下几个:1、用于连续数值的:colorNumeric,colorBin和colorQuantile;2、用于分类输入,colorFactor。 下面分别简单解释一下:colorNumeric: 将连续数值线性映射为设定的颜色模式的过程,一般来说,会对设定的颜色模式根据数值的变化进行平滑插值。 colorBin:也是将连续数值线性映射为设定的颜色模式的过程,也会对数据进行平滑内插生成颜色,但是与上一种方法不同的是,这个方法会对设定的颜色模式根据数值的变化进行分级设定。 colorQuantile : 也是线性映射,但是设定的方式是通过百分位数进行分级。 colorFactor: 把分类映射到颜色模式,如果颜色模式设定的数量和分类数量不一样,那么就对颜色模式进行平滑内插。 当然,你也可以使用R语言提供的那些调色板,比如heat.colors、cm.colors、rainbow等等,相关内容请查阅资料。 对于颜色设置的,实际上每一篇博客的demo的时候,都做了颜色渲染,大家有兴趣的时候回头去看,下面给出本章的一个实例:
![](https://img-blog.csdn.net/20161020130138663?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
十、图例: 图例是对地图可视化之后相关颜色或者符号的映射说明——当然,在leaflet里面,主要是针对颜色创建图例。 主要是方法如下: addLegend(地图,属性,颜色列表,标记值……) 具体的属性方法,大家可以查阅帮助文档,下面给出一个示例:
![](https://img-blog.csdn.net/20161020130143043?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
好了,到此为止,leafletfor R 的所有方法都介绍完了,正常进行地图可视化,那是绝对够用了……当然如果有哪位同学要在上面玩一些黑科技(想做出一些特别的效果来),也欢迎和我交流。 上面所有的脚本和数据,我将在整理完成之后,放出下载。
library(raster) r <- raster("data/Leaflet/YSUZ98_KWBN_201312130055-var0-z0-rt0-t0.nc") pal <- colorNumeric(c("transparent",topo.colors(100,alpha = NULL)), values(r), na.color = "transparent") leaflet() %>% addTiles() %>% addRasterImage(r, colors = pal, opacity = 0.8) %>% addLegend(pal = pal, values = values(r), title = "USA Snow 2013-12-13") |
下面加载一个北京主干道的车流密度分析栅格:
r <- raster("E:/flow.tif") pal <- colorNumeric(c("transparent",topo.colors(20,alpha = NULL)), values(r), na.color = "transparent") leaflet() %>% addTiles() %>% addRasterImage(r, colors = pal, opacity = 0.8) %>% addLegend(pal = pal, values = values(r),position="bottomleft", title = "北京交通主干道车流密度分析") |
九、颜色设置 空间可视化的最重要部分,就是把空间要素上的附件属性映射到颜色上,通过颜色的对比,来反应变量之间的关系,这些变量可以是数值,也可以是类别。 R语言号称顶级的可视化语言,所以对于颜色设置的方法多到你眼花缭乱,有兴趣的同学可以去参考R语言的相关教程。 leaflet里面的颜色设置一共有个参数,分布是color和fillcolor,从名称就可以看出来,一个是主颜色,一个是填充色,那么对应各种对象来说,color一般就是所谓的边框的颜色了。 在配合leaflet进行数值渲染的R语言调色函数里面,最常用的有以下几个:1、用于连续数值的:colorNumeric,colorBin和colorQuantile;2、用于分类输入,colorFactor。 下面分别简单解释一下:colorNumeric: 将连续数值线性映射为设定的颜色模式的过程,一般来说,会对设定的颜色模式根据数值的变化进行平滑插值。 colorBin:也是将连续数值线性映射为设定的颜色模式的过程,也会对数据进行平滑内插生成颜色,但是与上一种方法不同的是,这个方法会对设定的颜色模式根据数值的变化进行分级设定。 colorQuantile : 也是线性映射,但是设定的方式是通过百分位数进行分级。 colorFactor: 把分类映射到颜色模式,如果颜色模式设定的数量和分类数量不一样,那么就对颜色模式进行平滑内插。 当然,你也可以使用R语言提供的那些调色板,比如heat.colors、cm.colors、rainbow等等,相关内容请查阅资料。 对于颜色设置的,实际上每一篇博客的demo的时候,都做了颜色渲染,大家有兴趣的时候回头去看,下面给出本章的一个实例:
poly <- readShapePoly(paste(path,"CNPG_S.shp",sep ="")) pal <- colorNumeric(c("darkgreen", "yellow", "orangered"),poly@data$Pop_2009) leaflet(poly) %>% addTiles() %>% addPolygons(color=~pal(poly@data$Pop_2009),fillOpacity = 0.8,weight=1)%>% addLegend(pal = pal, values = poly@data$Pop_2009,position="bottomright", title = "2009年人口数量(万人)") pal <- colorNumeric("Greens",poly@data$Pop_2009) leaflet(poly) %>% addTiles() %>% addPolygons(color=~pal(poly@data$Pop_2009),fillOpacity = 0.8,weight=1)%>% addLegend(pal = pal, values = poly@data$Pop_2009,position="bottomright", title = "2009年人口数量(万人)") pal <- colorBin(c("darkgreen", "yellow", "orangered"),poly@data$Pop_2009,10) leaflet(poly) %>% addTiles() %>% addPolygons(color=~pal(poly@data$Pop_2009),fillOpacity = 0.8,weight=1)%>% addLegend(pal = pal, values = poly@data$Pop_2009,position="bottomright", title = "2009年人口数量分级") pal <- colorBin("Greens",poly@data$Pop_2009,10) leaflet(poly) %>% addTiles() %>% addPolygons(color=~pal(poly@data$Pop_2009),fillOpacity = 0.8,weight=1)%>% addLegend(pal = pal, values = poly@data$Pop_2009,position="bottomright", title = "2009年人口数量分级") |
十、图例: 图例是对地图可视化之后相关颜色或者符号的映射说明——当然,在leaflet里面,主要是针对颜色创建图例。 主要是方法如下: addLegend(地图,属性,颜色列表,标记值……) 具体的属性方法,大家可以查阅帮助文档,下面给出一个示例:
pal <- colorNumeric("Greens",poly@data$Pop_2009) leaflet(poly) %>% addTiles() %>% addPolygons(color=~pal(poly@data$Pop_2009),fillOpacity = 0.8,weight=1)%>% addLegend(pal = pal, values = poly@data$Pop_2009, title = "2009年人口数量(万人)</br>默认,右上角")%>% addLegend(pal = pal, values = poly@data$Pop_2009,bins=5,position="bottomleft", title = "2009年人口数量(万人)</br>图例分级五级,左下角")%>% addLegend(pal = pal, values = poly@data$Pop_2009,position="topleft", labFormat = labelFormat(suffix = " 万"), title = "2009年人口数量(万人)</br>加单位,左上角")%>% addLegend(pal = pal, values = poly@data$Pop_2009,position="bottomright", opacity = 1, title = "2009年人口数量(万人)</br>色带条不透明,右下角") |
好了,到此为止,leafletfor R 的所有方法都介绍完了,正常进行地图可视化,那是绝对够用了……当然如果有哪位同学要在上面玩一些黑科技(想做出一些特别的效果来),也欢迎和我交流。 上面所有的脚本和数据,我将在整理完成之后,放出下载。
相关文章推荐
- R语言在线地图神器:Leaflet for R包(六,完结篇)栅格、颜色和图例设置
- R语言在线地图神器:Leaflet for R包(二)基础底图
- R语言在线地图神器:Leaflet for R包(四) 弹出窗口和几何要素
- R语言在线地图神器:Leaflet for R包(三) 符号标记
- R语言在线地图神器:Leaflet for R包(五) GeoJson文件的使用
- R语言在线地图神器:Leaflet for R包(一)
- echarts设置图例颜色和地图底色的方法实例
- R语言在线地图神器:Leaflet for R包(五) GeoJson文件的使用
- R语言在线地图神器:Leaflet for R包(二)基础底图
- R语言在线地图神器:Leaflet for R包(四) 弹出窗口和几何要素
- R语言在线地图神器:Leaflet for R包(三) 符号标记
- R语言在线地图神器:Leaflet for R包(一)
- Netbeans语言设置,颜色配置,自动完成 - 标签展开,Zen coding,英文界面
- 关于arcgis用GP服务模型 生成等直面没有跟地图一致,颜色区设置及数据接收问题的解决方法!
- 易语言设置在画板中绘图的画笔颜色
- 易语言设置鼠标移动到组件上时的文本显示颜色
- 易语言设置在画板中绘画图形的刷子颜色
- ECharts 设置地图(map)值变化颜色(visualMap)
- ECharts地图颜色-选中颜色设置
- matplotlib命令与格式:设置栅格,axes脊柱(坐标轴),背景颜色