如何使用计算机语言画经纬网,使用R语言绘制中国地图

R语言环境

R3.1.1 Windows8.1

需要安装的packages: maptools,gp

绘图所需要的数据

中国地图的GIS数据(可以此下面的网址下载)

http://cos.name/wp-content/uploads/2009/07/chinaprovinceborderdata_tar_gz.zip

是一个压缩包,完全解压后包含三个文件(bou2_4p.dbf、bou2_4p.shp和bou2_4p.shx)

中国各省会城市的经纬度数据

城市,Jd,Wd

北 京,116.4666667,39.9

上 海,121.4833333,31.23333333

天 津,117.1833333,39.15

重 庆,106.5333333,29.53333333

哈尔滨,126.6833333,45.75

长 春,125.3166667,43.86666667

沈 阳,123.4,41.83333333

呼和浩特,111.8,40.81666667

石家庄,114.4666667,38.03333333

太 原,112.5666667,37.86666667

济 南,117,36.63333333

郑 州,113.7,34.8

西 安,108.9,34.26666667

兰 州,103.8166667,36.05

银 川,106.2666667,38.33333333

西 宁,101.75,36.63333333

乌鲁木齐,87.6,43.8

合 肥,117.3,31.85

南 京,118.8333333,32.03333333

杭 州,120.15,30.23333333

长 沙,113,28.18333333

南 昌,115.8666667,28.68333333

武 汉,114.35,30.61666667

成 都,104.0833333,30.65

贵 阳,106.7,26.58333333

福 州,119.3,26.08333333

台 北,121.5166667,25.05

广 州,113.25,23.13333333

海 口,110.3333333,20.03333333

南 宁,108.3333333,22.8

昆 明,102.6833333,25

拉 萨,91.16666667,29.66666667

香 港,114.1666667,22.3

澳门,113.5,22.2

绘图脚本

#设置当前工作目录

setwd("E:/R语言学习/")

#加载packages

library(sp)

library(maptools)

#读取省会城市经纬度数据

data

#读取各省的边界数据等

border

#设置输出文件

#jpeg("chinamap.jpeg")

#画地图

plot(border,col=rainbow(925),ylim = c(18, 54), panel.first = grid());

#增加省会城市坐标点

points(data$Jd, data$Wd, pch = 19, col = rgb(0, 0, 0, 0.5))

#增加标注

text(data$Jd, data$Wd, data[,1], cex = 0.6, col = rgb(0,

0, 0, 0.7), pos = c(2, 4, 4, 4, 3, 4, 2, 3, 4, 2, 4, 2, 2,

4, 3, 2, 1, 3, 1, 1, 2, 3, 2, 2, 1, 2, 4, 3, 1, 2, 2, 4, 4, 2))

#增加标签的另一种方式

#pointLabel(data$Jd, data$Wd, data[,1], offset = 0, cex = .6)

#设置坐标轴

axis(1, lwd = 0); axis(2, lwd = 0); axis(3, lwd = 0); axis(4, lwd = 0)

#输出结果到文件

#dev.off()

绘制的中国地图

9e199a4b98999b234c529c905e16b40f.png

参考

http://cos.name/2009/07/drawing-china-map-using-r/

http://yihui.name/cn/2008/10/china-map-and-city-locations-with-r/

http://yihui.name/cn/2008/10/avoid-label-overlap-pointlabel-in-maptools/

http://www.r-project.org/

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值