maptools画中国地图

数据下载

GIS 地图有很多种存储格式,其中 shapefile 格式(.shp)可以通过 R 的 maptools 包打开。[这里]可以(http://cos.name/wp-content/uploads/2009/07/chinaprovinceborderdata_tar_gz.zip)下载中国地图的GIS数据,完全解压后包含三个文件(bou2_4p.dbf、bou2_4p.shp和bou2_4p.shx.

library(maptools)
mydat = readShapePoly("../china-province-border-data/bou2_4p.shp") 
plot(mydat)

给地图上色

plot(mydat,col=gray(924:0/924))

image.png
plot(mydat,col="green")
length(mydat)

## [1] 925
names(mydat)
## [1] "AREA" "PERIMETER" "BOU2_4M_" "BOU2_4M_ID" "ADCODE93"
## [6] "ADCODE99" "NAME"

mydat中有 925 条记录,每条记录中含有面积(AREA)、周长(PERIMETER)、各种编号、中文名(NAME)等字段。其中中文名(NAME)字段是以 GBK 编码的。

#统计每个省 / 直辖市的多边形数目。
#环境是UTF-8时,需要iconv函数转化一下才能正常显示。
table(iconv(mydat$NAME, from = "GBK"))
image.png

根据ADCODE99画提取某个省

Shanghai = mydat[mydat$ADCODE99 == 310000,]
plot(Shanghai)
image.png

参考:
https://cosx.org/2014/08/r-maps-for-china
https://cosx.org/2009/07/drawing-china-map-using-r
https://www.jianshu.com/p/40e14f6e0aa0

你可能感兴趣的:(maptools画中国地图)