温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

大数据中数据地图的几个遗留问题的解决方案

发布时间:2021-12-06 09:44:16 来源:亿速云 阅读:233 作者:柒染 栏目:大数据

大数据中数据地图的几个遗留问题的解决方案,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

今天跟大家分享三个数据地图的遗留问题,包括以前因为技术手段限制无法解决的问题,以及读者吐槽最多的问题。

关于如何在一个版面上呈现不同行政级别的地理信息的解决方案,其实很简单,就是通过两个不同行政级别的图层进行叠加来达到目的。

library(maps)  

library("ggplot2")

library("ggthemes")

library("dplyr")

library("maptools")

library("grid")

library("ggimage")

world_map<-map_data("world")

data<-read.csv("D:/R/mapdata/Word_State.csv",stringsAsFactors = FALSE,check.names = FALSE)  

data1<-filter(data,region=="Russia" | Address=="Asia")

mymapdata<-merge(world_map[,1:5],data1,type="right")%>%filter(long>=30 & lat>=10)%>%arrange(group,order)

#底层的区域地图:

ggplot(mymapdata)+

geom_polygon(aes(x=long,y=lat,group=group),fill="grey95",col="black")+

coord_map("polyconic") +

theme_map() 

大数据中数据地图的几个遗留问题的解决方案

#表层的中国省级行政区划地图:

china_map <- readShapePoly("D:/R/rstudy/CHN_adm/bou2_4p.shp")      

china_map1 <- fortify(china_map) 

ggplot(china_map1)+

geom_polygon(aes(x=long,y=lat,group=group),fill="white",col="black")+

coord_map("polyconic") +

theme_map() 

大数据中数据地图的几个遗留问题的解决方案

#将两个图层对象放在同一个图形对象中(注意先后顺序)。

ggplot()+

geom_polygon(data=mymapdata,aes(x=long,y=lat,group=group),fill="grey95",col="grey")+

geom_polygon(data=china_map1,aes(x=long,y=lat,group=group),fill="white",col="black")+

coord_map("polyconic") +

theme_map() 

大数据中数据地图的几个遗留问题的解决方案

第二个问题,关于minimini导航窗口。

其实这个问题多少跟第一个问题有些关联,也是旨在给我们要呈现的中心地图一个区域定位的作用。解决方案依然是拼图,不过这次是拼的图表(整个图表对象),而非图表中的图层。

#位于中间的中国行政区划地图:

p1<-ggplot()+

geom_polygon(data=china_map1,aes(x=long,y=lat,group=group),fill="white",col="grey")+

coord_map("polyconic") +

theme_map();p1

p2<-ggplot()+

geom_polygon(data=world_map,aes(x=long,y=lat,group=group),fill="grey95",col="grey")+

annotate(geom="rect",xmin =30, xmax =155,ymin =10L, ymax = 55,colour="grey",fill="orange",alpha=.3)+

theme_map() %+replace% theme(plot.background=element_rect(colour="black"));p2

大数据中数据地图的几个遗留问题的解决方案

#拼贴合并:

vie<-viewport(width=0.30,height=0.25,x=0.25,y=0.25)

p1;print(p2,vp=vie)

大数据中数据地图的几个遗留问题的解决方案

第三个问题;也是被吐槽最多的九段线问题,这个问题,其实严格来说,我也没有办法搞定。

一般的九段线标识方法有两种,一种是在实际位置框定九段线范围,另一种则是将九段线的实际范围单独移至版面的边缘位置。第一种方法需要精确的九段线经纬点数据,获取不易,第二种则九段线位置过于灵活,然后不好掌握数据。

如果你能获取带有九段线数据的地图素材,那么这是最佳的解决方案,倘若不行,我们就要对图表后期进行处理(大部分人想到的方法是使用PS等软件,当然 这也是一种解决方案,至少清晰度上可以保证)。

但是既然是在R里面写代码,突然跑去玩PS总感觉怪怪的,能用代码解决的问题就不算问题,没错拼图嘛,R依然搞的定。

首先你要有个九段线素材图片。

jiuduanxian<-"E:/数据可视化/R/R语言学习笔记/可视化/timg.jpg"

ggplot()+

geom_polygon(data=china_map1,aes(x=long,y=lat,group=group),fill="white",col="grey")+

geom_image(aes(image=jiuduanxian,x=130,y=20),size=.2)+

coord_map("polyconic") +

theme_map()

大数据中数据地图的几个遗留问题的解决方案

我找的这个九段线素材可能跟中国地图风格搭配的不是很好,当然各位使用的时候可以自己去找相对准确、美观的素材使用。

最后提醒大家,关于九段线问题,一定要在报告或者文章末尾进行免责声明,涉及到领土争端问题,不仅仅要意识到,而且要尽可能的做好应对措施,避免不必要的麻烦。

看完上述内容,你们掌握大数据中数据地图的几个遗留问题的解决方案的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI