全部版块 我的主页
论坛 经济学论坛 三区 区域经济学
1160 1
2019-04-03
R绘制2013年城市的灯光数据分级图
###  把与城市相对应的数据绘制到城市polygons图上   ###
##  先在EXCEL里把所需数据与已知city或county数据对齐,共344个城市,保存为csv的格式###
##   读取所需数据   ###
library(readr)
L_2013 <- read_csv("spatial analysis/LIGHT_China/L_2013.csv")
##   把需要画图的列提取为数据框形式   ###
L=data.frame(L_2013$LIGHTmean2013, id.1=seq(0:343)-1)
##   要用之前编辑好的 LIGHTmean2013 列大小画分级图,为数据框增加一列 ID值命名为id.1,为了不与空间数据的id重名   ###
library(rgdal)
city=readOGR('/Users/abc/spatial analysis/gadm36_CHN_shp/gadm36_CHN_2.shp')
par(mar=c(0,0,0,0))
plot(city,col='snow',ylim=c(25,49),lty=1,lwd=0.1)
##   把大的空间数据框转化成可编辑的简单数据框   ###
library(ggplot2)
city1=fortify(city)
##   为 city1 数据框增添一列id.1 ,数值是等于原来的city1里面的id列   ##
city1$id.1=city1$id
##   为避免重复,把city2去掉id这一列   ##
city2=city1[,-6]
##   接下来就是合并两个数据框,id值匹配   ##
library(plyr)
city_map=merge(city2 , L , by='id.1' , all.x = TRUE)
#   ggplot  需要注意这之前一定要先画一次空间polygon图,这样coords_map里的参数就可以不用再特意设置而是默认为city的  #
ggplot()+
  geom_polygon(data = city_map ,
               aes(long , lat , group = group , fill = L_2013.LIGHTmean2013),
               color = 'black',
               size = 0.25)+
  coord_map(ylim = c(15,55))


附件列表

light2013.pdf

大小:2.53 MB

 马上下载

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2019-4-3 18:26:54
楼主可以讲讲灯光数据的处理不?从noaa下载下来之后,遥感图像该怎么读取数据?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群